当调用此查询时,我在运行时不断收到语法错误。
adoquery1.Active := false;
adoquery1.SQL.Clear;
SQLQuery := 'INSERT INTO Comics ';
SQLQuery := SQLQuery + '(Name,Issue,Series,Volume,Poster,';
SQLQuery := SQLQuery + 'Desc,Writer,Artist,Read,Link,Extra) ';
SQLQuery := SQLQuery + 'VALUE('+ quotedstr(SeriesName+' '+IssueNumber);
SQLQuery := SQLQuery + ','+ quotedstr(IssueNumber);
SQLQuery := SQLQuery + ','+ quotedstr(SeriesName);
SQLQuery := SQLQuery + ','+ quotedstr(VolumeNumber);
SQLQuery := SQLQuery + ','+ quotedstr(Poster);
SQLQuery := SQLQuery + ','+ quotedstr(Desc);
SQLQuery := SQLQuery + ','+ quotedstr(Writer);
SQLQuery := SQLQuery + ','+ quotedstr(Artist);
SQLQuery := SQLQuery + ','+ quotedstr(haveRead);
SQLQuery := SQLQuery + ','+ quotedstr(filelink);
SQLQuery := SQLQuery + ','+ quotedstr(Extra);
SQLQuery := SQLQuery + ')';
memo1.Text := SQLQuery;
adoquery1.SQL.Add(SQLQuery);
adoquery1.Active := true;
当我执行 memo1.text = sqlquery 时,看起来没问题,有什么建议吗? 这就是我在 memo1.text 中得到的内容..
INSERT INTO Comics (Name,Issue,Series,Volume,Poster,Desc,Writer,Artist,Read,Link,Extra VALUE('xmen 8','8','xmen','1','na','Some Description','BOBwriter','BOBArtist','Yes','C:\Comics\xmen8.cbr','Some Extra info')
最佳答案
DES
是保留字,因此您应该使用[DES]
或将其括在反引号中(我不知道您正在使用哪个数据库)。< br/>
更多:我认为应该是 VALUES(
而不是 VALUE(
.
INSERT INTO Comics
(Name, Issue, Series, Volume, Poster, [Desc],
Writer, Artist, [Read], Link, Extra)
VALUES
('xmen 8', '8', 'xmen', '1', 'na', 'Some Description',
'BOBwriter', 'BOBArtist', 'Yes', 'C:\Comics\xmen8.cbr','Some Extra info')
关于sql - INSERT INTO 语句中的 ADOQuery SQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10732328/