读书人

delphi中sql语句总有有关问题

发布时间: 2012-02-19 19:43:39 作者: rapoo

delphi中sql语句总有问题

function TDM.CheckUserName(username:string):boolean;
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
Query.SQL.Text:= 'select name from user where name=:username ';
Query.Parameters.ParamByName( 'username ').Value:=username;

Query.Open;
if query.RecordCount=1 then
result:=true
else
result:=false;
Query.Close;
Query.Free;
end;


提示from子句语法错误.
数据库表的名字是user,字段分别是name ,key
把Query.SQL.Text:= 'select name from user where name=:username ';句中的冒号删掉还是出现问题:parambyname( 'name ')not found
应该怎么改?


[解决办法]
Query.SQL.Text:= 'select name from user where name = ' + #39 + username + #39 ;
如果还不对,那你应该看看User表中的那个name字段是不是拼错了
[解决办法]
晕,Query.Parameters.ParamByName( 'username ').Value:=username;应该改为
Query.Parameters.ParamByName( 'name ').Value:=username;
[解决办法]
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
query.sql.clear;//--动态写入SQL指令前,最好是先清除SQL原有的值;
Query.SQL.Text:= 'select name from user where [name]=:username ';
Query.Parameters.ParamByName( 'username ').Value:=username;//这个USERNAME是个变量吗?如果仅是个字符串的话就应当是这样写代码。
Query.Parameters.ParamByName( 'username ').Value:= 'username ';

[解决办法]
function CheckUserName(username:string):boolean;
begin
with TADOQuery.Create(nil) do
begin
try
connection:=form1.ADOConnection1 ;
close;
sql.Clear ;
SQL.Text:= 'select name from user where name=:username ';
Parameters.ParamByName( 'username ').Value:=username;
Open;
if RecordCount=1 then
result:=true
else
result:=false;
Finally
Close;
Free;
end;
end;
end;

如果你用的是ACCESS数据库那么你的name,user都应该加上[]符号

读书人网 >.NET

热点推荐