在Delphi中使用MySQL事务,需要通过ADO连接MySQL数据库,并使用ADOCommand来执行SQL语句。以下是一个简单的示例代码:
uses ADODB; procedure TestTransaction; var Connection: TADOConnection; Command: TADOCommand; begin Connection := TADOConnection.Create(nil); Command := TADOCommand.Create(nil); Connection.ConnectionString := 'Provider=MSDASQL.1;Password=your_password;Persist Security Info=True;User ID=your_username;Data Source=your_mysql_dsn;'; Connection.LoginPrompt := False; Connection.Connected := True; Command.Connection := Connection; try Connection.BeginTrans; // 开始事务 Command.CommandText := 'INSERT INTO your_table (column1, column2) VALUES (value1, value2)'; Command.Execute; Command.CommandText := 'UPDATE your_table SET column1 = new_value WHERE column2 = some_condition'; Command.Execute; Connection.CommitTrans; // 提交事务 except on E: Exception do begin Connection.RollbackTrans; // 回滚事务 ShowMessage('Error: ' + E.Message); end; end; Connection.Free; Command.Free; end;
在上面的示例中,首先创建一个ADOConnection对象和一个ADOCommand对象,然后使用ADOConnection设置连接字符串,连接到MySQL数据库。在try块中,通过调用BeginTrans方法开始一个新的事务,然后执行SQL语句进行数据操作。如果出现异常,会在except块中回滚事务并显示错误信息。最后,调用CommitTrans方法提交事务并释放连接对象。
需要注意的是,在连接字符串中需要根据实际情况填写MySQL数据库的信息,包括用户名、密码、数据源等。另外,执行的SQL语句也需要根据实际情况编写。