In this article, I will explain how to insert data into multiple tables using a MySQL Transaction in ASP.NET.
So, let's proceed with the following procedure:
- ASP.NET web page
- Grid View Data Control , MySQL Database and MySQL Transaction
Now, open the MySQLAdmin Page then select "Create a New Table” > "View" >”Table Structure for Table 'student ' ”.
- CREATE TABLE IF NOT EXISTS `student` (
- `SID` int(100) NOT NULL AUTO_INCREMENT,
- `Name` varchar(100) NOT NULL,
- `Address` varchar(500) NOT NULL,
- `Email` varchar(100) NOT NULL,
- `Mobile` varchar(25) NOT NULL,
- PRIMARY KEY (`SID`)
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Table structure for table 'courses'
- CREATE TABLE IF NOT EXISTS `courses` (
- `Course` varchar(100) NOT NULL,
- `Name` varchar(100) NOT NULL,
- `Amount` int(11) NOT NULL
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Open your instance of Visual Studio 2012 and create a new ASP.NET Web application. Name the project “MySqlTransactionApplication", as shown in the following figure:

Now design your Student.aspx View design part; use the following code:
Student.aspx
- <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Student.aspx.cs" Inherits="MySqlTransactionApplication.Student" %>
- <asp:Content ID="Content1" ContentPlaceHolderID="titleContent" runat="server">
- </asp:Content>
- <asp:Content ID="Content2" ContentPlaceHolderID="head" runat="server">
- <script type="text/javascript">
- function validationCheck() {
- var summary = "";
- summary += isvalidName();
- summary += isvalidAmount();
- summary += isvalidAddress();
- summary += isvalidEmail();
- summary += isvalidMobileno();
- if (summary != "") {
- alert(summary);
- return false;
- }
- else {
- return true;
- }
- }
- function isvalidName() {
- var id;
- var temp = document.getElementById("<%=txtName.ClientID %>");
- id = temp.value;
- if (id == "") {
- return ("Please Enter Name" + "\n");
- }
- else {
- return "";
- }
- }
- function isvalidAddress() {
- var id;
- var temp = document.getElementById("<%=txtAddress.ClientID %>");
- id = temp.value;
- if (id == "") {
- return ("Please Enter Address" + "\n");
- }
- else {
- return "";
- }
- }
- function isvalidAmount() {
- var id;
- var temp = document.getElementById("<%=txtAmount.ClientID %>");
- id = temp.value;
- if (id == "") {
- return ("Please Enter Amount" + "\n");
- }
- else {
- return "";
- }
- }
- function isvalidEmail() {
- var id;
- var temp = document.getElementById("<%=txtEmail.ClientID %>");
- id = temp.value;
- var re = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
- if (id == "") {
- return ("Please Enter Email" + "\n");
- }
- else if (re.test(id)) {
- return "";
- }
- else {
- return ("Email should be in the form [email protected]" + "\n");
- }
- }
- function isvalidMobileno() {
- var id;
- var temp = document.getElementById("<%=txtMobile.ClientID %>");
- id = temp.value;
- var re;
- re = /^[0-9]+$/;
- var digits = /\d(10)/;
- if (id == "") {
- return ("Please Enter Mobile no" + "\n");
- }
- else if (re.test(id)) {
- return "";
- }
- else {
- return ("Phone no should be digits only" + "\n");
- }
- }
- </script>
- </asp:Content>
- <asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
- <table>
- <tr>
- <td class="td">Name:<span style="color:red;">*</span></td>
- <td>
- <asp:TextBox ID="txtName" runat="server" CssClass="txt"></asp:TextBox></td>
- </tr>
- <tr>
- <td class="td">Course:<span style="color:red;">*</span></td>
- <td>
- <asp:DropDownList ID="ddlCourse" runat="server" CssClass="txt" Width="216px">
- <asp:ListItem Value="0">--------Select--------</asp:ListItem>
- <asp:ListItem>.NET</asp:ListItem>
- <asp:ListItem>Java</asp:ListItem>
- <asp:ListItem>SQL Server</asp:ListItem>
- <asp:ListItem>MySQL</asp:ListItem>
- <asp:ListItem>Oracle</asp:ListItem>
- <asp:ListItem>PHP</asp:ListItem>
- <asp:ListItem>A+/Network+</asp:ListItem>
- <asp:ListItem>CISCO</asp:ListItem>
- </asp:DropDownList>
- </td>
- </tr>
- <tr>
- <td class="td">Amount: <span style="color:red;">*</span></td>
- <td>
- <asp:TextBox ID="txtAmount" runat="server" CssClass="txt"></asp:TextBox></td>
- </tr>
- <tr>
- <td class="td">Address: <span style="color:red;">*</span></td>
- <td>
- <asp:TextBox ID="txtAddress" runat="server" CssClass="txt"></asp:TextBox>
- </td>
- </tr>
- <tr>
- <td class="td">Mobile: <span style="color:red;">*</span></td>
- <td>
- <asp:TextBox ID="txtMobile" runat="server" CssClass="txt"></asp:TextBox></td>
- </tr>
- <tr>
- <td class="td">Email ID: <span style="color:red;">*</span></td>
- <td>
- <asp:TextBox ID="txtEmail" runat="server" CssClass="txt"></asp:TextBox>
- </td>
- </tr>
- <tr>
- <td></td>
- <td>
- <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" CssClass="button" />
- <asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClick="btnCancel_Click" CssClass="button" /></td>
- <td></td>
- </tr>
- </table>
- <asp:Panel ID="Panel1" runat="server" >
- <table style="width: 50%;">
- <tr>
- <td>
- <asp:GridView ID="GridViewStudent" CssClass="handsontable" runat="server"></asp:GridView>
- </td>
- <td><asp:GridView ID="GridViewCourses" CssClass="handsontable" runat="server"></asp:GridView></td>
- </tr>
- </table>
- </asp:Panel>
- </asp:Content>





Join the conversation! Your thoughts help the community grow.