0

我有一个学校 PAT 项目,我需要做一些额外的事情,为此我需要执行以下操作(我使用的是 delphi 7 和 ms 访问):
我想设置sql code =一个变量以使用 var用于计算之类的东西。
我在想这样的事情:

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

所以基本上我想在delphi中将一个特定的ms访问单元=设置为一个var。

4

1 回答 1

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

于 2013-10-19T16:47:07.907 回答