procedure TForm1.Button1Click(Sender: TObject);
var
FADOConnection:TADOConnection;
FADOQuery:TADOQuery;
begin
FADOConnection:=TADOConnection.Create(nil);
FADOConnection.LoginPrompt:=False;
FADOConnection.ConnectionString:='DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=test; USER=root; PASSWORD=123456';
FADOConnection.Open;
FADOQuery:=TADOQuery.Create(nil);
FADOQuery.Connection:=FADOConnection;
FADOQuery.SQL.Add('update tab1 set ldate=''2009.02.17 18:29:57'' where guid = ''{F8A4F2A9-15E5-4271-9F67-CF1BBAA80B02}'';');
FADOQuery.SQL.Add('update tab2 set ldate=''2009.02.17 18:29:57'' where ip=''114.105.71.163''');
ShowMessage(FADOQuery.SQL.Text);
FADOQuery.ExecSQL;
ShowMessage('OK');
end;单个语句可以执行,Show出来的结果到MySQL的查询管理器中也可以执行,应该是MySQL语法拼接错误或者就是ADOQuery根本不能执行多条,就用ADOQuery组件,不要提用其它的组件,如果ADO不能的话就单条执行了
解决方案 »
- 200分求助,TWebBrowser中使用js调用delphi里面的方法
- 请问flatlistbox中怎么确定选中了哪个记录?
- 高分求高人指导:DELPHI 检索文本文件. 在线等待,不解决不离线的那一种!
- IT技术交流 QQ群10206167 欢迎加入 可以讨论各类的IT技术问题。
- 数据表内的数据如何排序?
- 问题请教
- ole对象与wordapplication可以一起使用吗?可以的话应该如何使用?
- 如何改变控件的先后位置?
- 师傅们,能不能告诉我棋类的人工智能怎么写呀?比如说军旗。
- 菜鸟问题 怎样在字符串里加入'号字符?
- SQL语句?
- ListBox控件中一行中使用,如何象RICHTXT一样,每个字都能改变不同字体和颜色啊?在线等啊
Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);
var
FADOConnection:TADOConnection;
FADOQuery:TADOQuery;
str : TstringList;
i : integer;
begin
FADOConnection:=TADOConnection.Create(nil);
FADOConnection.LoginPrompt:=False;
FADOConnection.ConnectionString:='DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=test; USER=root; PASSWORD=123456';
FADOConnection.Open;
FADOQuery:=TADOQuery.Create(nil);
FADOQuery.Connection:=FADOConnection;
str := Tstringlist.create;
try
str.append('update tab1 set ldate=''2009.02.17 18:29:57'' where guid = ''{F8A4F2A9-15E5-4271-9F67-CF1BBAA80B02}'';');
str.append('update tab2 set ldate=''2009.02.17 18:29:57'' where ip=''114.105.71.163''');
for i := 0 to str.count -1 do
begin
FADOQuery.sql.text := Str.string[i];
FADOQuery.ExecSQL;
end;
finally
FreeANdNil(Str);
end;
ShowMessage('OK');
end;我上次就樣搞的。也不知道怎麼搞的,就是不能批量。也有可能還有我不知道的。不過CMD下是可能LOAD的,暈倒啊。
oracle可以这样,不知道mysql行不,如果支持事务应该就行吧
var
FADOConnection:TADOConnection;
FADOQuery:TADOQuery;
begin
FADOConnection:=TADOConnection.Create(nil);
FADOConnection.LoginPrompt:=False;
FADOConnection.ConnectionString:='DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=test; USER=root; PASSWORD=123456';
FADOConnection.Open;
FADOQuery:=TADOQuery.Create(nil);
FADOQuery.Connection:=FADOConnection;
FADOQuery.SQL.Add('update tab1 set ldate=''2009.02.17 18:29:57'' where guid = ''{F8A4F2A9-15E5-4271-9F67-CF1BBAA80B02}'';update tab2 set ldate=''2009.02.17 18:29:57'' where ip=''114.105.71.163''');
ShowMessage(FADOQuery.SQL.Text);
FADOQuery.ExecSQL;
ShowMessage('OK');
end;
Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);
var
FADOConnection:TADOConnection;
FADOQuery:TADOQuery;
str : TstringList;
i : integer;
临时创建的,如果常用,最好用组件,创建一次是要点时间的。FADOQuery要不要FREE,你要注意一下。
EXECSQL实际上是在T-SQL中运行EXEC()这个过程~
即EXEC('update tab1 set ldate=''2009.02.17 18:29:57'' where guid = ''{F8A4F2A9-15E5-4271-9F67-CF1BBAA80B02}'')
EXEC不支持批处理,是单句执行~
你的语句showtext之后能执行是因为你的txt文本没有exec,所以T-SQL是以批处理的方式执行~