将var设置为等于SQL代码

时间:2013-10-19 15:58:35

标签: delphi ms-access delphi-7

我有一个学校PAT项目,我需要做一些额外的事情,为了做到这一点,我需要做以下(我使用delphi 7和ms访问):
我想将sql code =设置为变量,以便将var用于计算之类的事情 我在想这样的事情:

s(var):=ADOQuery1.SQL.Text:='SELECT Birthdate where username = '+edtUsername.text;

所以基本上我想设置一个特定的ms access cell =到delphi中的var。

1 个答案:

答案 0 :(得分:4)

你试图在一行中做太多。

您设置SQL.Text
然后运行查询 然后在你的变量中读一行。

此外,永远不要将参数直接注入查询;这导致SQL注入漏洞。请改用参数。

在伪代码中:

 ADOQuery1.SQL.Text:='SELECT Birthdate where username = :name';
 ADOQuery1.Parameters.ParamByName('name'):= aname;   <<-- save way to use parameters.
 ADOQuery1.RunQuery;
 var1:= ADOQuery1.FieldByName('BirthDate').AsDate;

显然你需要修复SQL语句,因为它不完整并稍微调整一下代码。但我会把它留作练习。

以下是TADOQuery的文档:http://docwiki.embarcadero.com/Libraries/XE5/en/Data.Win.ADODB.TADOQuery