首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi中sql语句总有有关问题

2012-02-19 
delphi中sql语句总有问题functionTDM.CheckUserName(username:string):booleanvarQuery:TADOQuerybeginQ

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都应该加上[]符号

热点排行