繁体   English   中英

在Delphi中使用数组插入Into语句不起作用

[英]Insert Into statement using arrays in Delphi isn't working

因此,我正在为学校做一个Delphi 7项目,该项目要求我将SQL与Delphi程序集成在一起。 我使用Microsoft Access作为数据库。 我试图在insert into语句中使用字符串数组,但是由于某些原因,我在INSERT INTO语句中不断收到语法错误。 我的插入代码是:

ADOQuery1.SQL.Clear;                     
ADOQuery1.SQL.Add('INSERT INTO ' + IntToStr(o) + ' (' + column[t] + ')');
ADOQuery1.SQL.Add('VALUES ("' + Stats[t] + '")');  
ADOQuery1.SQL.Add('WHERE No = "' + Stats[1] + '" ');                            
ADOQuery1.ExecSQL;

o是一个应该指示表名称的数字, column[t]是我希望Stats[t]出现的列。

如何解决此错误?

您不能将WHEREINSERT语句一起使用。

SQL INSERT INTO语句

INSERT INTO语句(Microsoft Access SQL)

为了获得最佳实践,请学习如何在查询中使用参数

要插入表格:

ADOQuery1.Parameters.ParamByName('Col1').Value:=Va1;
ADOQuery1.Parameters.ParamByName('Col2').Value:=Va2;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := 'INSERT INTO YourTable Values(:Col1,:Col2)';
ADOQuery1.ExecSQL;

注意:

不能INSERT INTO语句中使用WHERE子句。

如果名称是数字,则最好重命名表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM