用数据库登录验证

时间:2016-02-04 17:48:44

标签: sql delphi ado delphi-2010

问题

您好!我需要在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

1 个答案:

答案 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是您需要执行的最基本的操作之一。