请看,这样的SQL语句有错吗?????(100分)

  • 主题发起人 主题发起人 atomy
  • 开始时间 开始时间
A

atomy

Unregistered / Unconfirmed
GUEST, unregistred user!
adoquery1.sql.add('insert into data1(text) values(1)');
adoquery1.ExecSQL;
提示说insert into 语句错误.

原来我用的是adoquery1里的sql语句是 insert into data1(text) values(:text)
adoquery1.Parameters[0].value:='12343';
adoquery1.open;

这样也提示说 insert into 语句错误..


可是我明明记得这样写没错的啊... 我用的是D5 ,ADO SP2 ,ACCESS数据库.
 
那个text的字段是文本类型.
 
text是你的字段名
如果是字段名你换一个名字试试,也不知道是不是保留字什么的.
//反正上面的SQL语句没错.另外,你可以试试同样的SELECT语句在
ACCESS中和ADO中也看会不会出错.
 
1.adoquery.sql.add('INSERT INTO tablename(textname) VALUES('123') ');
2.adoquery.sql.add('INSERT INTO tablename(textname) VALUES(:A)');
adoquery.parambyname('A').AsString:='123';
 
我把我写的这个小程序放上来,你们看看就懂了.

http://202.103.221.38/driver/code/adosql_err.zip

系统是win2k server ,d5 装了两个ADO补丁的,使用Access2000.
 
同意hbezwwl的意见。
 
>__<

呜....终于搞定了...TMD...我把ACCESS数据库里的字段名text改为text_1就能通过...
 
看来我上面说的换个字段名没错,以前好象也有
FW有过类似的问题.
 
那个名字太'敏感'了[:D]
 
text是你的字段名
如果是字段名你换一个名字试试,也不知道是不是保留字什么的.
//反正上面的SQL语句没错.另外,你可以试试同样的SELECT语句在
ACCESS中和ADO中也看会不会出错.
 
TEXT好象是保留字!
 
是你的语句错了。。。

这样写试试看
adoquery1.Close;
adoquery1.sql.Clear;
adoquery1.sql.add('INSERT INTO tablename(textname) VALUES(:A)');
adoquery1.parameters.parambyname('A').AsString:='123';
adoquery1.ExecSQL;
 
我的SQL语句是没错的.. 因为照着几个程序的抄来用的.
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
867
DelphiTeacher的专栏
D
D
回复
0
查看
836
DelphiTeacher的专栏
D
D
回复
0
查看
785
DelphiTeacher的专栏
D
后退
顶部