我是想在插入数据前,先把数据库查询一遍 搜索有没有 和传进来的参数一样的值
如果一样就不插入跳过 如果不一样就插入
但是在测试的过程中遇到一些问题 出现这个提示 如果按照我这个代码 能实现防止重复输入值吗?
Tmp := StrTodar(Pass,16); //将pass转换成其他数 并且赋值到tmp
MainForm.ADOQuery3.close;
MainForm.adoquery3.sql.clear;
MainForm.adoquery3.sql.add('select [dar] from TEST where dar='''+pass+''''); //查询dar中是否有参数pass
mainform.adoquery3.Open;
check:= trim( mainform.adoquery3.FieldByName('dar').AsString); //将查询结果赋给check
if (StrToInt(check)=0) then //如果check等于0 那么插入
begin
instead(dar,tmp);
end;
如果一样就不插入跳过 如果不一样就插入
但是在测试的过程中遇到一些问题 出现这个提示 如果按照我这个代码 能实现防止重复输入值吗?
Tmp := StrTodar(Pass,16); //将pass转换成其他数 并且赋值到tmp
MainForm.ADOQuery3.close;
MainForm.adoquery3.sql.clear;
MainForm.adoquery3.sql.add('select [dar] from TEST where dar='''+pass+''''); //查询dar中是否有参数pass
mainform.adoquery3.Open;
check:= trim( mainform.adoquery3.FieldByName('dar').AsString); //将查询结果赋给check
if (StrToInt(check)=0) then //如果check等于0 那么插入
begin
instead(dar,tmp);
end;
if eof then
instead(dar,tmp); //你这个是一个自定义的过程吧?
MainForm.ADOQuery3.close;
MainForm.adoquery3.sql.clear;
MainForm.adoquery3.sql.add('select [dar] from TEST where dar='''+pass+''''); //查询dar中是否有参数pass
mainform.adoquery3.Open;
if mainform.adoquery3.recordcount = 0 then
instead(dar,tmp);
end;