【发布时间】:2013-09-05 22:33:08
【问题描述】:
我是 delphi 新手(或任何与此相关的编码),过去一周我一直在学习 SQL,但我尝试使用该代码从 Msaccess 数据库中查找和删除记录不起作用。当我运行它时它不会给出任何错误,当我单击按钮时它不会做任何事情,它会显示消息但它不会从表中删除记录。我一直在使用这个代码:
begin
ADOQuery1.SQL.Text := 'SELECT * FROM Admins WHERE Name = '''+Edtname.text+'''';
ADOQuery1.Open;
if ADOQuery1.IsEmpty then
ShowMessage('User not found')
else
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'DELETE FROM Admins WHERE Name = '''+EdtName.Text+'''';
ADOQuery1.ExecSQL;
ShowMessage('Information was Deleted');
end;
ADOquery1.Free;
end;
关于数据库的信息:
Collumns Type
======== ====
Name Text
Surname Text
Dateadded Date/time
Password Text
Adminnumber Number
请提供尽可能多的信息来说明为什么会发生此错误,正如我所说的,我还在学习中,提前谢谢你:)
【问题讨论】:
-
我刚刚为您的 [其他问题] 提供了一个很长的完整答案,并(详细)解释了为什么您应该不使用字符串连接来构建 SQL 语句,以及我在这里注意到的第一件事是两个使用连接的 SQL 语句。很高兴看到我浪费了我的时间。 :-(
-
是的,对不起,但我会尝试学习构建 sql 语句的其他方法,但这是根据我的教科书启动 SQl 的最简单方法的代码,我已经让它工作了。 ..
-
还有最糟糕的方法... 有一天,当您要编写更复杂的查询时,您会迷失在引号中。看,这是下一个
today's example的SQL查询连接问题。 -
正如我在之前的回答中提到的,从一开始就教自己正确的方法将意味着你的头痛要少得多(并且在这个过程中学到更多东西)。如果您不打算从问题的答案中学习,那么最好还是坚持看书并自己弄清楚。 :-)