Sqlparameterには例外を割り当てる必要があります。割り当てた場合、主キー制約の例外に違反しています。

Keshav_Nandhan

フィールド値を挿入する必要がありますが、主キーであるIDを挿入して、identity(1,1)を設定する必要はありません。ストアドプロシージャも下部に追加されます。

protected void save_click(object sender, EventArgs e)
{
        con = new SqlConnection(s);
        con.Open();
        cmd = new SqlCommand("employeedtl", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@empname", SqlDbType.VarChar).Value =      TextBox1.Text;
        cmd.Parameters.Add("@empid", SqlDbType.Int).Value = int.Parse(TextBox2.Text);
        cmd.Parameters.Add("@empage", SqlDbType.Int).Value = int.Parse(TextBox3.Text);
        cmd.Parameters.Add("@empaddress", SqlDbType.VarChar).Value = TextBox4.Text;
        cmd.Parameters.Add("@empjoindate", SqlDbType.VarChar).Value = TextBox5.Text;
        cmd.Parameters.Add("@empproject", SqlDbType.VarChar).Value = TextBox6.Text;
        cmd.Parameters.Add("@empmobile", SqlDbType.BigInt).Value = Int64.Parse(TextBox7.Text);
        cmd.Parameters.Add("@empemail", SqlDbType.VarChar).Value = TextBox8.Text;
        cmd.Parameters.Add("@select", SqlDbType.Int).Value = 1;
        cmd.Parameters.Add("@id"); 
        cmd.ExecuteNonQuery();
        Label1.Text = "Inserted Successfully";
        con.Close();
        bindGrid(GridView1);

}

ALTER procedure [dbo].[employeedtl](@select int,@empid int,@empname varchar(50),@empage int,@empaddress varchar(max),@empjoindate varchar(50),@empproject varchar(50),@empmobile bigint,@empemail varchar(max))
    as
    begin
    if @select=1
    begin
    if Exists(select * from EmployeeDB where Empid=@empid)      
    begin
     update EmployeeDB set [EmpId]=@empid,[EmpName]=@empname,[EmpAge]=@empage,[EmpAddress]=@empaddress,[EmpJoin]=@empjoindate,[EmpProj]=@empproject,[EmpMobile]=@empmobile,[EmpEmail]=@empemail where Empid=@empid
     end
     else 
     begin
     insert into EmployeeDB(EmpId,EmpName,EmpAge,EmpJoin,EmpAddress,EmpProj,EmpMobile,EmpEmail) values(@empid,@empname,@empage,@empaddress,@empjoindate,@empproject,@empmobile,@empemail)
     end
     end
     else if @select=2
     begin
     delete from EmployeeDB where EmpId=@empid
     end
    end
サンディップバンタワ
  1. cmd.Parameters.Add("@id"); //これを削除します
  2. で@idを削除します ALTER PROCEDURE dbo.Employeetl
  3. 挿入のIDを削除します INSERT INTO EmployeeDB(EmpName, . . . )

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ