How to use ASP & MySQL and Transaction (BeginTrans,CommitTrans,RollbackTrans) This is tutorial asp developers ASP and MySQL Database on Transaction mode (BeginTrans,CommitTrans,RollbackTrans).
ShotDev Focus:
- ASP & MySQL Transaction mode (BeginTrans,CommitTrans,RollbackTrans)
Table Type : InnoDB
InnoDB Syntax :
CREATE TABLE `customer` ( . . . . ) ENGINE=InnoDB;
#1289 - The ‘InnoDB’ feature is disabled; you need MySQL built with ‘InnoDB’ to have it working
Solution
my.ini (C:\AppServ\MySQL\my.ini)
skip-innodb
Change To
#skip-innodb
### Restart MySQL Service ###
.
.
Example
asp_mysql_transaction1.asp
<% Option Explicit %> <html> <head> <title>ShotDev.Com Tutorial</title> </head> <body> <form action="asp_mysql_transaction2.asp" name="frmAdd" method="post"> <table width="600" border="1"> <tr> <th width="91"> <div align="center">CustomerID </div></th> <th width="160"> <div align="center">Name </div></th> <th width="198"> <div align="center">Email </div></th> <th width="97"> <div align="center">CountryCode </div></th> <th width="70"> <div align="center">Budget </div></th> <th width="70"> <div align="center">Used </div></th> </tr> <tr> <td><div align="center"><input type="text" name="txtCustomerID" size="5"></div></td> <td><input type="text" name="txtName" size="20"></td> <td><input type="text" name="txtEmail" size="20"></td> <td><div align="center"><input type="text" name="txtCountryCode" size="2"></div></td> <td align="right"><input type="text" name="txtBudget" size="5"></td> <td align="right"><input type="text" name="txtUsed" size="5"></td> </tr> </table> <input type="submit" name="submit" value="submit"> </form> </body> </html>
asp_mysql_transaction2.asp
<% Option Explicit %> <html> <head> <title>ShotDev.Com Tutorial</title> </head> <body> <% Dim Conn,strSQL,objExec Set Conn = Server.Createobject("ADODB.Connection") Conn.Open "DRIVER={MySQL ODBC 5.1 Driver}; SERVER=localhost;UID=root; " & _ "pwd=root;database=mydatabase;option=16384;" On Error Resume Next '*** Error Resume ***' '*** Transaction Start ***' Conn.BeginTrans '*** Save Form ***' strSQL = "" strSQL = strSQL &"INSERT INTO customer " strSQL = strSQL &"(CustomerID,Name,Email,CountryCode,Budget,Used) " strSQL = strSQL &"VALUES " strSQL = strSQL &"('"&Request.Form("txtCustomerID")&"','"&Request.Form("txtName")&"', '"&Request.Form("txtEmail")&"' " strSQL = strSQL &",'"&Request.Form("txtCountryCode")&"','"&Request.Form("txtBudget")&"', '"&Request.Form("txtUsed")&"') " Set objExec = Conn.Execute(strSQL) Set objExec = Nothing '*** already exists save form (CustomerID is PK)***' strSQL = "" strSQL = strSQL &"INSERT INTO customer " strSQL = strSQL &"(CustomerID,Name,Email,CountryCode,Budget,Used) " strSQL = strSQL &"VALUES " strSQL = strSQL &"('"&Request.Form("txtCustomerID")&"','"&Request.Form("txtName")&"', '"&Request.Form("txtEmail")&"' " strSQL = strSQL &",'"&Request.Form("txtCountryCode")&"','"&Request.Form("txtBudget")&"', '"&Request.Form("txtUsed")&"') " Set objExec = Conn.Execute(strSQL) Set objExec = Nothing If Err.Number = 0 Then '*** Commit Transaction ***' Conn.CommitTrans Response.write("Save Done.") Else '*** Rollback Transaction ***' Conn.RollbackTrans Response.write("Error Save ["&strSQL&"] ("&Err.Description&")") End If Conn.Close() Set objExec = Nothing Set Conn = Nothing %> </body> </html>
Create a asp file and save to path root-path/myasp/
Run
http://localhost/myasp/asp_mysql_transaction1.asp
Screenshot
3elizabethan…
…