Click here to Skip to main content
15,890,282 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
C#
protected void btn3_Click(object sender, EventArgs e)
    {
        try
        {
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLDbConnection"].ToString());
            //string str = "exec gas_master1 '"+ddl1.Text+"','"+txt1.Text+"','"+ddl2.Text+"','"+lbl3.Text+"'";
            SqlCommand cmd = new SqlCommand("gas", con);

            cmd.CommandType = CommandType.StoredProcedure;
            //cmd.CommandText = "gas";
            cmd.Parameters.Add("@action", SqlDbType.VarChar).Value = ddl1.Text.Trim();
            cmd.Parameters.Add("@gas_name", SqlDbType.VarChar).Value = txt1.Text.Trim();
            cmd.Parameters.Add("@serial_no", SqlDbType.VarChar).Value = ddl2.Text;
            cmd.Parameters.Add("@tran_stat", SqlDbType.VarChar).Value = txt2.Text.Trim();
            //cmd.Connection = con;
            //cmd = new SqlCommand("Save", con);

            con.Open();
            //return
            cmd.ExecuteNonQuery();
            //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Record Updated Successfully')", true);
            con.Close();
        }
        catch (SqlException ex)
        {
            Console.WriteLine("sqlerror" + ex.Message.ToString());
            //return 0;
        }

       
    }



sql:
SQL
CREATE procedure gas
 
(
@action varchar(20),
@serial_no int,
@gas_name varchar(50),
@tran_stat varchar(50),
@tran_status varchar(20),
@tran_date datetime,
@Modified_date datetime
)
 
as
 
BEGIN
	SELECT @tran_stat = tran_stat FROM tbl_Cyl_gas_master WHERE serial_no=@serial_no
	IF(@tran_stat ='')
	SET @tran_stat = CASE when @action='ADD' then 'FR' END
	set @tran_status=@tran_stat
	declare	@tran_stat_exists	varchar(2) 
	declare @serialno_exists varchar(10)
	declare @gas_name_exists varchar(50)
	select @gas_name_exists=gas_name,@serialno_exists=@serial_no from	tbl_cyl_gas_master where gas_name like @gas_name
	IF(@action ='add')
	BEGIN
	if ((@gas_name_exists = @gas_name) and (@serialno_exists=@serial_no))
	begin
	Raiserror('Gas Name or transaction exist',16,1)
	end
	else
	begin
	INSERT INTO tbl_Cyl_gas_master(gas_name,tran_stat,tran_status,tran_date) VALUES (@gas_name,@tran_stat,@tran_status,getdate())
	end	
	END
	ELSE IF @action='update'
	BEGIN
	IF (@tran_stat = 'FR')
	--UPDATE tbl_Cyl_gas_master set gas_name=@gas_name WHERE serial_no=@serial_no
	begin
	select * from serial_no,gas_name,tran_status where serial_no=@serial_no

	UPDATE tbl_Cyl_gas_master set gas_name=@gas_name,Modified_date=getdate() WHERE serial_no=@serial_no
	end
 
	ELSE
	RAISERROR ('Transaction not is fresh',16,1);

	END 

	ELSE IF @action='authorise'
	BEGIN

	IF (@tran_stat = 'FR')
	begin
	select * from serial_no,gas_name,tran_status where serial_no=@serial_no
	UPDATE tbl_Cyl_gas_master SET gas_name=@gas_name,tran_stat='AU',tran_status='AU',Modified_date=getdate() WHERE serial_no=@serial_no
	end
 
	ELSE
 
	begin

	RAISERROR ('Transaction already Authorised',16,1)

	end
 
	END

	ELSE if @action='delete'

	--select @serialno_exists=@serial_no from tbl_Cyl_gas_master
	--if @serialno_exists is null
 
	--begin

	--	RAISERROR ('Transaction already Deleted',16,1)
 
	--end
	--else
	begin
 
	select * from serial_no,gas_name,tran_status where serial_no=@serial_no
 
	update tbl_Cyl_gas_master set tran_status='DE',tran_stat='DE',gas_name='Deleted',Modified_date=getdate() where serial_no=@serial_no
 
	--DELETE gas_name from tbl_Cyl_gas_master where serial_no=@serial_no
	end
 
	else
 
	select * from tbl_cyl_gas_master
 
END
Posted
Updated 6-Apr-14 22:25pm
v2
Comments
Schatak 7-Apr-14 2:17am    
what error you are getting?>
vanarajranjit 7-Apr-14 4:34am    
In table the values are not inserting

C#
try
  {
SqlConnection conn = //your connection;
SqlCommand command = new SqlCommand("gas", conn);
command.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@action", SqlDbType.VarChar).Value = ddl1.SelectedValue.Trim();
command.Parameters.Add("@gas_name", SqlDbType.VarChar).Value =  txt1.Text.Trim();
command.Parameters.Add("@serial_no", SqlDbType.VarChar).Value =  ddl2.SelectedValue.Trim();
command.Parameters.Add("@tran_stat", SqlDbType.VarChar).Value =  txt2.Text.Trim();
conn.Open(); 
command.ExecuteNonQuery();
conn.Close();
}
catch (SqlException ex)
  {
     Console.WriteLine("SQL Error" + ex.Message.ToString());
     return 0;
  }
 
Share this answer
 
v2
Comments
vanarajranjit 7-Apr-14 4:06am    
Records are not inserting into table pls check it
Schatak 7-Apr-14 4:15am    
in your drop down for action what value you are passing? it should be "add" according to your stored procedure

<asp:DropDownList ID="ddl1" ClientIDMode="Static" runat="server" AutoPostBack="false">
<asp:ListItem Value="add">Add
<asp:ListItem Value="update">Update
vanarajranjit 7-Apr-14 4:17am    
Ya add only
Schatak 7-Apr-14 4:20am    
in your table there is no column with the name "tran_status" and in your procedure check your insert query you are passing a value for a column which is not in the table.
vanarajranjit 7-Apr-14 4:24am    
This is my code
<asp:DropDownList ID="ddl1" ClientIDMode="Static" runat="server" AutoPostBack="false">

                            <asp:ListItem Value="add">Add

                            <asp:ListItem Value="update">Update

                            <asp:ListItem>delete

                            <asp:ListItem>Authorise

                            <asp:ListItem>View

                       
your final solution:
HTML:
XML
<div>
       <table>
           <tr>
               <td>
               Action:
                   <asp:DropDownList ID="ddl1" runat="server" ClientIDMode ="Static" AutoPostBack="false">
                       <asp:ListItem Value ="add">Add</asp:ListItem>
                       <asp:ListItem Value ="update">Update</asp:ListItem>
                       <asp:ListItem Value ="delete">Delete</asp:ListItem>
                       <asp:ListItem Value ="authorise">Authorise</asp:ListItem>
                   </asp:DropDownList>
               </td>
               <td>
                   Serial No:
                   <asp:DropDownList ID="ddl2" runat="server" ClientIDMode ="Static">
                   </asp:DropDownList>
               </td>
                <td>
                   Tans Status:
                   <asp:Label ID="lblTranStatus" runat="server" ClientIDMode ="Static"></asp:Label>
               </td>
                <td>
                  Gas Name
                   <asp:TextBox ID="txtGasname" runat="server" ClientIDMode ="Static"></asp:TextBox>
               </td>
           </tr>
       </table>
       <asp:Button ID="btnUpdate" runat="server" Text="Action"
           onclick="btnUpdate_Click" />
   </div>


C#
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["cn"].ConnectionString);
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            fillSerialNo();
        }

    }

    #region Controls Event
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        try
        {
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["cn"].ToString());
            SqlCommand command = new SqlCommand("gas_name", con);
            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.Add("@action", SqlDbType.VarChar).Value = ddl1.SelectedValue.Trim();
            command.Parameters.Add("@gas_name", SqlDbType.VarChar).Value = txtGasname.Text.Trim();
            command.Parameters.Add("@serial_no", SqlDbType.VarChar).Value = ddl2.SelectedValue.Trim();
            con.Open();
            command.ExecuteNonQuery();
            con.Close();
        }
        catch (SqlException ex)
        {
            Console.WriteLine("SQL Error" + ex.Message.ToString());
        }
    }
    #endregion

    #region Page Method
    private void fillSerialNo()
    {
        string queryString = "SELECT serial_no FROM dbo.tbl_cyl_gas_master";
        SqlCommand command = new SqlCommand(queryString, con);
        SqlDataAdapter adapter = new SqlDataAdapter(queryString, con);
        con.Open();
        SqlDataReader dr = command.ExecuteReader(CommandBehavior.CloseConnection);
        DataTable dt = new DataTable();
        dt.Load(dr);
        ddl2.DataSource = dt;
        ddl2.DataTextField = "serial_no";
        ddl2.DataValueField = "serial_no";
        ddl2.DataBind();
        ddl2.Items.Insert(0, new ListItem("-- Add --", "0"));
    }
    #endregion

SQL SIDE

SQL
ALTER procedure gas_name
(
	@action			varchar(20),
	@serial_no		int,
	@gas_name		varchar(50)
)
AS
BEGIN
	declare @Newserial_no int
	declare @tran_stat varchar(10)
	SET @tran_stat=''
	IF(@tran_stat ='') OR (@tran_stat =null)
		SET @tran_stat = CASE when @action='add' then 'FR' END

	
	IF(@action ='add')
	BEGIN
		IF (@serial_no = 0)
		begin
			IF NOT EXISTS(SELECT * FROM tbl_Cyl_gas_master WHERE gas_name = @gas_name AND tran_stat = 'FR') 
				INSERT INTO tbl_Cyl_gas_master(gas_name,tran_stat,tran_date) VALUES (@gas_name,@tran_stat,GEtDATE())
				--SET @Newserial_no = SCOPE_IDENTITY()
		end	
		ELSE
		begin
			Raiserror('Gas Name or transaction exist',16,1)
		end
	END
	ELSE IF @action='update'
	BEGIN
		IF EXISTS(SELECT * FROM tbl_Cyl_gas_master WHERE serial_no = @serial_no AND tran_stat = 'FR') 
		begin
			UPDATE tbl_Cyl_gas_master set gas_name=@gas_name,Modified_date=GETDATE() WHERE serial_no=@serial_no
		end
	ELSE
		RAISERROR ('Transaction not is fresh',16,1);
	END 
	ELSE IF @action='authorise'
	BEGIN
	IF EXISTS(SELECT * FROM tbl_Cyl_gas_master WHERE serial_no = @serial_no AND tran_stat = 'FR') 
		begin
			UPDATE tbl_Cyl_gas_master SET gas_name=@gas_name,tran_stat='AU',Modified_date=getdate() 
			WHERE serial_no=@serial_no
		end
	ELSE
	begin
		RAISERROR ('Transaction already Authorised',16,1)
	end
	ENd
	ELSE if @action='delete'
	begin
		update tbl_Cyl_gas_master set tran_stat='DE',gas_name='Deleted',
			Modified_date=getdate() where serial_no=@serial_no
	--DELETE gas_name from tbl_Cyl_gas_master where serial_no=@serial_no
	end
	else
	select * from tbl_cyl_gas_master
END

hope your problem is solved
 
Share this answer
 
Comments
vanarajranjit 7-Apr-14 8:46am    
Miss schatak front end the data is not inserting, updating and serial number combo all serial number are loaded from table but gas_name values are not coming.
Schatak 7-Apr-14 9:11am    
that you can see yourself. its working fine the basic inserting , updating etc. else try yourself
vanarajranjit 8-Apr-14 3:38am    
Miss schatak it is working fine inserting ,updating,authorise but when i am selecting the serial no the other text fields sholud select it not showing??
Schatak 8-Apr-14 3:49am    
write OnSelectedIndexChanged="ddl2_SelectedIndexChanged" for your serial no drop down and bind data accordingly . by serial no.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900