我的一个小ms使用tadoquery,以及access2003,连接采用oledb jet4.0 然后在sql添加语句执行数据库操作。
现在我对某个表操作,执行查询操作都正常,但是执行插入语句,提示‘insert into’附近有语法错误。但是我使用断点跟踪,把那个要插入的语句抓出来,放到access中表查询,直接执行却是可以成功插入表中的。我的语句如下: // 构造szSql语句. 这个szSql语句放入到access中查询,已经是正确的。
ADOQueryForReportEdit.Active := false;
ADOQueryForReportEdit.SQL.Clear;
ADOQueryForReportEdit.SQL.Add(szSql);
ADOQueryForReportEdit.ExecSQL; //这句执行错误,提示:insert into附近语法错误
我实在找不出错在哪里。
现在我对某个表操作,执行查询操作都正常,但是执行插入语句,提示‘insert into’附近有语法错误。但是我使用断点跟踪,把那个要插入的语句抓出来,放到access中表查询,直接执行却是可以成功插入表中的。我的语句如下: // 构造szSql语句. 这个szSql语句放入到access中查询,已经是正确的。
ADOQueryForReportEdit.Active := false;
ADOQueryForReportEdit.SQL.Clear;
ADOQueryForReportEdit.SQL.Add(szSql);
ADOQueryForReportEdit.ExecSQL; //这句执行错误,提示:insert into附近语法错误
我实在找不出错在哪里。
Insert into RepairInfoTable(RegeditTime, Device, Count, SoldDate, Client, SoldPresent, RepairForWhat, Others) values( '2006-7-15','双飞燕101' ,1 ,'2006-7-8' ,'边锋电子' ,'TCP56555555' ,'按键不灵活' ,'' ); 数据表中除了这些字段之外,还有一个Idx字段,是自增型的!
这个sql语句就是我从各个edit里面获取道德参数然后形成的语句。
with ADOQueryForReportEdit do
begin
Close;
SQL.Clear;
sql.Add('Insert into RepairInfoTable(RegeditTime, Device)') ;
sql.Add('values(:#rt,:#device)');
Parameters.ParamByName('#rt').Value := '2006-7-15';
Parameters.ParamByName('#device').Value := '双飞燕101';
ExecSQL;
end;