I want to insert data into two different tables but using single button click Event.
Example.
My first table Is Employee (ID,Name,Locatio)
Second table is Manager (Id,Name,Location)
I am able to insert data into first table but not able to add data into both the tables by clicking on submit button at once.
Loading

Satyapriya NayakPosted Mar 12, 2013, 1:30 PM
Create two stored procedure
CREATE PROCEDURE insert1
(@ID varchar(50),@Name varchar(50),@Location varchar(50))
AS
insert Emp(ID,Name,Location) values (@ID,@Name,@Location)
CREATE PROCEDURE insert2
(@ID varchar(50),@Name varchar(50),@Location varchar(50))
AS
insert Manager(ID,Name,Location) values (@ID,@Name,@Location)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm11.aspx.cs" Inherits="WebApplication16.WebForm11" %>
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
namespace WebApplication16
{
public partial class WebForm11 : System.Web.UI.Page
{
string strConnString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlCommand com;
protected void btn_insert_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(strConnString);
com = new SqlCommand("insert1", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.Add("@ID", SqlDbType.VarChar).Value = TextBox1.Text;
com.Parameters.Add("@Name", SqlDbType.VarChar).Value = TextBox2.Text;
com.Parameters.Add("@Location", SqlDbType.VarChar).Value = TextBox3.Text;
con.Open();
com.ExecuteNonQuery();
con.Close();
com = new SqlCommand("insert2", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@ID", SqlDbType.VarChar).Value = TextBox4.Text;
com.Parameters.Add("@Name", SqlDbType.VarChar).Value = TextBox5.Text;
com.Parameters.Add("@Location", SqlDbType.VarChar).Value = TextBox6.Text;
con.Open();
com.ExecuteNonQuery();
con.Close();
Response.Write("Record Successfully Inserted");
}
}
}
Ashutosh ChaturvediPosted Apr 5, 2013, 8:09 PM
Vishal GilbilePosted Mar 13, 2013, 12:46 AM
As Satyapriya said you can create two procedures to insert data in more than one tabl, but if you want to maintain consistency and reliability then you need to implement transaction while inserting data in your two tables. That means in your procedure you need to make use of transaction.
Hope that gives you a better understanding.
With Regards,
Vishal Gilbile.