2013-10-19 82 views
0

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

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

所以基本上我想设置一个特定的MS接入小区=一个变种在delphi。

+0

LOL这是谁? MSC“programers” – Craig

+0

导致你想要的是在我们的书后面(P214) – Craig

回答

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

+0

+1参数! – whosrdaddy