clientdataset1.commandtext问题,急死我了(50分)

  • 主题发起人 主题发起人 sfw
  • 开始时间 开始时间
S

sfw

Unregistered / Unconfirmed
GUEST, unregistred user!
clientdataset1.close;
clientdataset1.CommandText:='insert into usertable (user,password)'+'values ("'+edit1.text+'",'+'"'+edit2.text+'")';
clientdataset1.execute;
老是提示我insert语句有错,到底该怎么改呢?
服务器端allowcommandtext已设为true.
另外,服务器端我只用了adoquery和datasetprovider两个控件。
 
最好
var
strsql:string;
...
strSql:='insert into usertable (user,password)'+
'values ( '''+edit1.text+''','''+edit2.text+''' )';
//单引号
clientdataset1.CommandText:=strSql;
 
改成单引号
 
改了,还是不行,问题会不会出在服务器那边呢?
 
是提示INsert语法错误,还是提示什么对象找不到?
 
user,password 里面有一个可能是内部关键字,把字段换成别的名字试试,如(user1,password1)
 
可能是你引号没写对,你先用一般的TADOCOMMAND运行一下,再放回来运行
 
有可能是你的字段刚好与关键字重名啦!
你的数据库是什么呢!是SQL Server的话,user可是关键字的.
 
把你运行时的sql语句show出来,再拿到你数据客户端一试就知道是SQL语法有错,还
是delphi这边的问题!简单的debug做法!
 
应该是引号的错误吧。改为下面的试试:
clientdataset1.CommandText:=' insert into usertable (user,password)'+'values ('''+edit1.text+''','+''''+edit2.text+''')';
别用双引号!
 
多人接受答案了。
 
后退
顶部