问题
您好!我需要在Delphi 2010中登录。我有MS Access数据库,我有字段(loginID,用户名,密码)。所以我有2个用户名和密码的TEdit组件。我已经连接到delphi中的数据库,所有连接都在工作。
问题是我不知道如何检查TEdit中的文本是否在数据库中。我需要像查询这样的东西。
示例:
if Edit1.Text in login.username then
something
else
something else
希望您了解我的需求,但无论如何,您可以提出问题以获取更多信息。我将感谢解决方案。
我尝试了什么
ADOQuery1.SQL.Text := 'SELECT FROM login WHERE username = :Edit1.Text';
ADOQuery1.ExecSQL;
我不知道它是否有效。
如何检查:
if ADOQuery1 execute then
something
else
something else
答案 0 :(得分:1)
您需要正确参数化查询,并使用参数。 (您还需要编写有效的SQL,对于SELECT,需要返回要返回的列的列表。)
ADOQuery1.SQL.Text := 'SELECT UserName FROM login WHERE username = :User';
ADOQuery1.Parameters.ParamByName('User').Value := Edit1.Text;
然后,您需要打开(不执行)查询,并查看它是否返回了值。
ADOQuery1.Open;
if not ADOQuery1.IsEmpty then
begin
// User exists. Do whatever you need next.
end
else
// Do what you want if user not found
我强烈建议,如果您打算尝试使用数据库,那么您可以购买一本书或找一本教程。 SELECT
是您需要执行的最基本的操作之一。