delphi中如何用sql语句避免录入重复数据?
delphi吧
全部回复
仅看楼主
level 8
ooooh_up 楼主
c:=list.Count-1;
with ADOQuery1 do
begin
close;
for I := 1 to c do begin
txt:=list.Strings[i];
SQL.clear;
sql.Add('selete 题目文本 form 三年级 where 题目文本=:a');
parameters.ParamByName('a').Value:=txt;
下面就无法运行,提示:ADOQuery:cannot perform this operation on a closed dataset.
到底该如何写才对?
if RecordCount=0 then begin
SQL.Add('insert into 三年级 (题目文本) values(a)');
parameters.ParamByName('a').Value:=txt;
end;
execsql;
end;
end;
2014年05月16日 11点05分 1
level 14
少一句open
2014年05月16日 13点05分 2
为value赋值后加open提示语法错,
2014年05月16日 14点05分
level 8
ooooh_up 楼主
在不过滤重复数据时,下面编码能正常录入的,应该如何插入过滤编码,怎么写?
c:=list.Count-1;
with ADOQuery1 do
begin
close;
for I := 1 to c do begin
txt:=list.Strings[i];
SQL.clear;
SQL.Add('insert into 三年级 (题目文本) values(a)');
parameters.ParamByName('a').Value:=txt;
execsql;
end;
end;
2014年05月17日 01点05分 3
level 6
同学,你这个'insert into 三年级 (题目文本) values(a)'其中a作为参数应该加上:也即这句话应该是'insert into 三年级 (题目文本) values(:a)'
2014年05月17日 06点05分 4
level 8
下面就无法运行,提示:ADOQuery:cannot perform this operation on a closed dataset.
到底该如何写才对?
是if  那句有问题不打开当然没有返回记录集 还用同一个dataset  Sql 要Clear
2014年05月20日 01点05分 5
1