在输入记录时,怎样知道那个字段的值是已存在的?然后执行相应的动作,我用的是ADO。
解决方案 »
- 学习的小示范程序
- 问什么 自己找到的端口就是比别人找到的少?
- 当DbgridEh不绑定时,怎么增加空行?
- 查询access表中的时间字段,如何将时间转换为文本输出
- fastrepot设计时问题:(小弟拜求)
- 求教!!怎么求枚举类型中的第n个枚举值的名称??
- 如何使用最简代码实现文件系统的遍历?
- 用winsocket传文件的问题(我搜索了所有的有关serversocket的贴子也未找到答案, 在线等待)
- 关于hook的一个问题!
- 三层模式下,通过TQuery来新增图像字段的方法?请各位高手帮忙!
- 真的就没人会吗?请教高手:在一个Panel里怎么显示另外一个EXE文件?或OCX文件?在线等待!
- 模式对话框调用ShowModal错误的问题。
if not exists (select 1 from table where fieldname=input)
insert into table (field1,field2...) values(in_v1,in_v2....)
其中input为你所知字段的值。
先建立一个动态的tclientdataset,然后拷贝你的内容
var td:tclientdataset;
begin
td:=tclientdataset.create(nil);
td.currosur(dataset,false,false);
if td.locate(field,youinput,[])=true then
//your source
else
// your source
end;
//可能有输入错误
begin
以输入的数据查询数据库
如果找到
exit;end;
adoquery1.sql.clear;
adoquery1.sql.add('select * from tablename where fieldname=''张''')
adoquery1.close;
adoquery1.open;
if adoquery1.eof=false then
showmessage('找到张的记录,一共'+inttostr(adoquery1.recordcount)+'条')
else
showmessage('没有张的记录');
function GetRecCount(strParam, ValParam, strTable: string; AdoQry: TADOQuery):Integer;var strsql:string;
begin
try
strsql := 'select Count('+ strParam +') As RecCount';
strsql := strsql + ' from '+ strTable +'';
strsql := strsql + ' where '+ strParam +'='''+ ValParam +'''';
RunSQL(AdoQry,strsql);
Result := AdoQry.FieldByName('RecCount').Value;
except
Result := 0;
Abort;
end;
end;
insert into table (field1,field2...) values(in_v1,in_v2....)
http://expert.csdn.net/Expert/topic/2194/2194653.xml?temp=.1814386