怎么实现先查询数据库中有无指定信息的记录,如果没有的话就追加记录?附代码,解决马上结贴

如何实现先查询数据库中有无指定信息的记录,如果没有的话就追加记录?附代码,解决马上结贴
如题。代码如下:
        ADOQuery1-> Close();
        ADOQuery1-> SQL-> Clear();
        ADOQuery1-> SQL-> Add( "select   *   from   table1   where   field1= 'abc '   and   field2= '123 ' ");
        ADOQuery1-> Open();
        if(ADOQuery1-> IsEmpty())                   //表示没有相同的记录,就追加记录
        {
                SQLString= "INSERT   INTO   table1(field1,field2)   VALUES( 'abc ', '123 ') ";
                ADOQuery1-> Close();     //程序总在这里抛出异常,怎么办?
                ADOQuery1-> SQL-> Clear();
                ADOQuery1-> SQL-> Add(SQLString);
                ADOQuery1-> ExecSQL();
        }
请大家帮忙改改吧。谢谢!

------解决方案--------------------
增加一个控件ADOQuery2
ADOQuery1-> Close();
ADOQuery1-> SQL-> Clear();
ADOQuery1-> SQL-> Add( "select * from table1 where field1= 'abc ' and field2= '123 ' ");
ADOQuery1-> Open();
if(ADOQuery1-> IsEmpty()) //表示没有相同的记录,就追加记录
{
SQLString= "INSERT INTO table1(field1,field2) VALUES( 'abc ', '123 ') ";
ADOQuery2-> Close(); //程序总在这里抛出异常,怎么办?
ADOQuery2-> SQL-> Clear();
ADOQuery2-> SQL-> Add(SQLString);
ADOQuery2-> ExecSQL();
}

------解决方案--------------------
Searchdata(TADOQuery ado,string str);
{
try
{
ado-> close();
ado-> sql-> clear();
ado-> sql-> add(str);
ado-> ExecSQL;
}
catch(...)
{
异常处理;
}
}
if(ADOQuery1-> IsEmpty()) //表示没有相同的记录,就追加记录
{
SQLString= "INSERT INTO table1(field1,field2) VALUES( 'abc ', '123 ') ";
Searchdata(ADOQuery2,SQLString);
}

------解决方案--------------------
ADOQuery1-> Close();
ADOQuery1-> SQL-> Clear();
ADOQuery1-> SQL-> Add( "select count(*) as 重复记录个数 from table1 where field1= ' "+number+ " ' ");
ADOQuery1-> Open();
int t=ADOQuery1-> Fields-> Fields[0]-> AsInteger;
if(t==0) //如果没有重复记录
{
sql= "insert into table1(field1,field2) VALUES ( 'abc ', '123 ') ";
ADOQuery1-> Close();
ADOQuery1-> SQL-> Clear();
ADOQuery1-> SQL-> Add(sql);
ADOQuery1-> ExecSQL();
}