关于MYSQL批量添加数据的问题,用ADOCOMMAND,单条的加是没有问题的,但用批量添加,ODBC老是报语法错误,很急!!! ( 积分: 100 )

  • 主题发起人 主题发起人 xcs
  • 开始时间 开始时间
X

xcs

Unregistered / Unconfirmed
GUEST, unregistred user!
ADOCommand1.CommandText:='';
ADOCommand1.CommandText:='insert szstk (name) values('+'"'+'use1'+'"'+')'+';'+'insert szstk (name) values ('+'"'+'use2'+'"'+')'+';'+'insert szstk (ame) values ('+'"'+'use3'+'"'+')';
ADOCommand1.Execute;

在一个循环里,把一个动态数组里的数据导到MYSQL数据库里,单条的加是成功,但多条语句就报语法错误,是不是";"分号,ODBC 不支持,同样的语句在MYSQL中是成功执行的
 
ADOCommand1.CommandText:='';
ADOCommand1.CommandText:='insert szstk (name) values('+'"'+'use1'+'"'+')'+';'+'insert szstk (name) values ('+'"'+'use2'+'"'+')'+';'+'insert szstk (ame) values ('+'"'+'use3'+'"'+')';
ADOCommand1.Execute;

在一个循环里,把一个动态数组里的数据导到MYSQL数据库里,单条的加是成功,但多条语句就报语法错误,是不是";"分号,ODBC 不支持,同样的语句在MYSQL中是成功执行的
 
DELPHI2005+MYSQL ODBC 3.51+ADO
 
是不是,ODBC不支持分号,MYSQL语句结束符,如何改,MYSQL的语句结束符。
 
老兄你可以改成這樣也可以啊。
ADOCommand1.CommandText:='';
ADOCommand1.CommandText:='insert Into szstk (name)'
+' select +quotedstr(use1)
+' union select +quotedstr(use2)
+' union select +quotedstr(use3)
+' union select +quotedstr(use4);
//依次類推就可以了。
ADOCommand1.Execute;
 
我是要从数组里添加一批数据到MYSQL数据库里,单条的发很慢,想一次发多条INSERT语句,在命令行方式里可以,还在ADOCOMMAND。COMMANDTXT中,ODBC报语法错误,好象是不能正确处理“;"分号。
记得MYSQL里有改的语句,不记得了
 
';'改为#13#10试试。
 
后退
顶部