如何检测修改SQL的重复记录值.(0分)

  • 主题发起人 主题发起人 topdelphi
  • 开始时间 开始时间
T

topdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
我的SQL数据库有个USERID字段,如何检测例如输入编号为1之后,
再输入就弹出提示不能输入重复值提示出来,不是弹出SQL系统报错信息出来,
在下面的语句里有三处出错了,请大家帮忙修改一下

public
{ Public declarations }
function isExistUserID(aID:Integer);
//这里出错提示说function need result type
end;

function isExistUserID(aID:Integer);
begin
qry_LookUpID:=TADOQuery.Create(Application);
qry_LookUpID.Connection:=...//a ADOConnection;
qry_LookUpID.SQL.Clear;
qry_LookUpID.SQL.Add('exec table ');//这里我调用了存储过程显示表
qry_LookUpID.SQL.Add('Where UserID='+IntToStr(aID));
qry_LookUpID.Open;

if qry_LookUpID.state=[dsEdit] then //这里说我状态类型出错了,
Result:=(qry_LookUpID.RecordCount>=1)
else if dsInsert then
Result:=(qry_LookUpID.RecordCount>0);
end;
ADOConnection.BeginTrans ;
try
qry_LookUpID.Insert;
qry_LookUpID.FieldByName('user_ids').AsString:=userip.Text;
qry_LookUpID.Post;
qry_LookUpID.UpdateBatch;
qry_LookUpID.CommitTrans;
end;
请问这条语句我写成这样可以正确执行吗.

 
首先谢谢你的回答,但是可以不要在此乱发吗,我这个问题是好急的,可惜我现在没有
分,如果有我定必奉上.
 
1.function 当然需要返回值,不然你就做成process好了。
2.检查userid有无重复不必用存储过程吧,只要:
select count(*) from table where userid=** 就可以了。
 
谢谢你的回答,
但是你的回答1,我还是不知道需要那个返回值.
而且第二个回答问题,这条语句只是指定了特定的一条语句,如果是程序里,又如何写呢
可以比个详细的例子我吗,再次真的谢谢你了.
 
后退
顶部