if ADOQuery1.RecordCount>0then
begin
SqlStr:='update UserTab set PassWord='+Quotedstr(PassWordStr)'where UserName='+Quotedstr(UserNameStr);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(SqlStr);
ADOQuery1.ExecSQL;
MessageBox(MMXGFrm.Handle,'密码修改成功!','用户密码提示',MB_OK+MB_ICONINFORMATION);
end
上面这段代码在如果是连上SQL SERVER2000就可以正确修改 但连上ACCESS数据库是提示UPDATE语句的语法错误!
请各位指教是什么原因?
begin
SqlStr:='update UserTab set PassWord='+Quotedstr(PassWordStr)'where UserName='+Quotedstr(UserNameStr);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(SqlStr);
ADOQuery1.ExecSQL;
MessageBox(MMXGFrm.Handle,'密码修改成功!','用户密码提示',MB_OK+MB_ICONINFORMATION);
end
上面这段代码在如果是连上SQL SERVER2000就可以正确修改 但连上ACCESS数据库是提示UPDATE语句的语法错误!
请各位指教是什么原因?
这是因为access和sqlserver的保留字不同,以后其名字避免这些词,好的建议是增加一个前缀,比如d_password,d_username 就不会这么麻烦了。
+Quotedstr(PassWordStr)
+'" where UserName="'
+Quotedstr(UserNameStr)
+'"';
试试看。
你的整个语句中少了一个加号,并且where前少了一个空格,不知是否是笔误?