急:SQL语句出错! (100分)

  • 主题发起人 主题发起人 caoxizi
  • 开始时间 开始时间
C

caoxizi

Unregistered / Unconfirmed
GUEST, unregistred user!
怪 很简单的SQL语句出错,错误信息是什么“语法错误(操作符丢失)在查询语句.....”
语句如下:
sql.add('select * from userinfo');
sql.add('where 用户名="'+EditModiName.Text+'"');

到底是哪里的问题啊?
thx
 
直接在sql explorer中执行,查一sql的错误看。
 
sql.add('where 用户名='+''''+EditModiName.Text + '''');
 
对,只需将"改为''
 
with Query1 do
Begin
Close;
SQL.Clear;
sql.add('select * from user_info');
sql.add('where 用户名=:name_x');
ParamByName('name_x').AsString:=EditModiName.Text;
Prepare;
try
Open;
except
end;
End;
 

sql.add('where 用户名='''+EditModiName.Text+''');
 
use me :

sql.add('select * from userinfo');
sql.add('where 用户名='+#39+EditModiName.Text+#39+')';
test

 
1、 sql.add('select * from userinfo');
2、 sql.add('where 用户名="'+EditModiName.Text+'"');

第2句改为: sql.add('where 用户名='''+EditModiName.Text+''');
或: sql.add('where 用户名='+QuotedStr(EditModiName.Text));



 
把双引号改为两个单引号
 
标点符号的问题,注意 变换看看!
 
http://211.90.241.5:8848/delphi/list.asp?id=30
 
各位的办法都用了 还是报那个错!!! 怎么回事呢?

thx
 
sql.clear;
sql.add(....);
open;
 
var
LstrSql: string;
begin
LstrSql := Format('select * from userinfo where 用户名 = "%s"', [EditModiName.text]);
query1.sql.text := LstrSql;
end;
 
用户名="'+EditModiName.Text+'"'
改为 用户名='''+EditModiName.Text+'''
 
sql.add('select * from userinfo');
sql.add('where 用户名="'+EditModiName.Text+'"');
改成
sql.add('select * from userinfo where 用户名='''+EditModiName.Text+'''');
------------------
如果这样也有错,我也要晕倒~~~~~~~
 
sql.add('select * from userinfo where 用户名='''+EditModiName.Text+'''');
如果这样错的话,我建议你在你的机器上踩上两脚,立马就好用了!
 
我也踩两脚,呵呵~~
 
userinfo这个表名是不是保留字 不让用啊???
我上面给你写的那个试了没有? 看看, 换个表名试试...
注意的数据类型的匹配。 这么简简的SQL..........
 

Similar threads

I
回复
0
查看
446
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部