使用数据库进行登录验证
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
是您需要执行的最基本的操作之一。
问题
您好!我需要在 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
是您需要执行的最基本的操作之一。