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…
…