使用数据库进行登录验证

Login validation with database

问题

您好!我需要在 Delphi 2010 年登录。我有 MS Access 数据库,其中有字段(登录 ID、用户名、密码)。所以我有 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

您需要正确地参数化您的查询,并使用参数。 (您还需要编写有效的 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 是您需要执行的最基本的操作之一。