insert into 在插入时总是报错。(100分)

  • 主题发起人 主题发起人 tony_j
  • 开始时间 开始时间
T

tony_j

Unregistered / Unconfirmed
GUEST, unregistred user!
query1.Close;
query1.SQL.Add ('insert into "wenjian.db" (no,name,month,update,reportname,singername,ssbm,sbdw,whdj,bcwz,zlly,sx,bz)');
query1.SQL.add ('values (:no,:name,:month,:update,:reportname,:singername,:ssbm,:sbdw,:whdj,:bcwz,:zlly,:sx,:bz)');
query1.ParamByName('no').asstring:=noedit.text;
query1.ParamByName('name').asstring:=zlmcedit.text;
query1.ParamByName('month').asstring:=yfedit.text;
query1.ParamByName('reportname').asstring:=sbredit.text;
query1.ParamByName('singername').asstring:=qsredit.text;
query1.ParamByName('ssbm').asstring:=ssbmedit.text;
query1.ParamByName('sbdw').asstring:=sbdwedit.text;
query1.ParamByName('whdj').asstring:=whdjedit.text;
query1.ParamByName('bcwz').asstring:=bcwzedit.text;
query1.ParamByName('zlly').asstring:=combobox1.text;
query1.ParamByName('sx').asstring:=combobox2.text;
query1.ParamByName('bz').asstring:=bzedit.text;
query1.ParamByName('update').asdatetime:=strtodate(sbsjedit.Text);
query1.prepare;
query1.open;

提示错误如下:看不出来insert语句那里出了问题。
project main.exe raised exception class EDBEngineError whit message 'invalid use of keyword, Token: no,name,month........values line '1
 
类型不对,字符型要加引号
 
错误信息已经说得很明白了:关键字冲突。(很可能是month)
你把所有字段用[]扩起来就好了
 
请用实例写一下我看看可好!谢谢!
 
怎么知道你的类型呢?
 
数据表字段最好不要用象month之类的关键字
 
小毛毛说得对。
([no],[name],[month],[update],...
Update 是Sql的关键字呀。
 
'invalid use of keyword, Token: no,name,month........values line '1
可找到比我还懒的了。呵呵。翻译过来不是就知道什么错误了么?
推荐装个金山糍粑:)
 
我觉得不是关键字冲突!
 
用Open也不对吧,该用ExecSql
 
我也觉得应该是Open的问题
 
同意:小毛毛
 
很明显的open问题,open返回结果集,而execsql则不返回结果集
 
是open问题,我也遇到过,用execsql就ok了
 
是open问题

 
query1.open;不对改为query1.ExecSql
 
对,不能用Open,要用ExecSql
 
我用insert时,老是提示什么create cursor handle错误,请问是
什么回事?
 
我想不是得问题,我也遇到过这样得问题,
我想可能是字段update的类型不符。
 
to 所有不同意不是关键词的人:的确是关键字的问题,我在项目中遇到过。

另最好也不要用open.
 
后退
顶部