2017-04-22 11 views
0

ボタンを使用して従業員の詳細をデータベースに挿入したい、asp.net、SQL Server 2016を使用しています。データが挿入されず、エラーも発生しません。指定と部門はドロップダウンリストです。データが挿入されていません

protected void btnCreate_Click(object sender, EventArgs e) 
    { 
     SqlConnection conn = new SqlConnection(@"connectionstring"); 

      try 
      { 

       conn.Open(); 
      //SqlCommand cmd = new SqlCommand("Insert into Employee values (@EmpID, @FirstName, @LastName, @Email, @Password,@DesigID, @DeptID, @Address, @Contact)", conn); 
      SqlCommand cmd = new SqlCommand("insertemployee", conn); 
      cmd.CommandType = System.Data.CommandType.StoredProcedure; 

       // int ddldedig = Convert.ToInt32(DropDownListDesig.SelectedValue); 
       //int ddldept = Convert.ToInt32(DropDownListDept.SelectedValue); 

       cmd.Parameters.AddWithValue("@EmpID", TextBoxEmpID.Text); 

       cmd.Parameters.AddWithValue("@FirstName", TextBoxFirstName.Text); 
       cmd.Parameters.AddWithValue("@LastName", TextBoxLastName.Text); 
       //cmd.Parameters.AddWithValue("BankID", TextBoxBankID.Text); 

       cmd.Parameters.AddWithValue("@Email", TextBoxEmail.Text); 
       cmd.Parameters.AddWithValue("@Password", TextBoxPassword.Text); 

       cmd.Parameters.AddWithValue("@DesigID", DropDownListDesig.SelectedValue); 
       cmd.Parameters.AddWithValue("@DeptID", DropDownListDept.SelectedValue); 
       cmd.Parameters.AddWithValue("@Address", TextBoxAddress.Text); 
       cmd.Parameters.AddWithValue("@Contact", TextBoxContact.Text); 

       cmd.ExecuteNonQuery(); 
       ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Employee Account Successfully Create')", true); 

      } 

      catch (SqlException ex) 
      { 
       Console.WriteLine("value added"); 
      } 
      finally 
      { 
       conn.Close(); 
      } 


    } 

次のストア手順です:

ALTER PROCEDURE [dbo].[insertemployee] 
     -- Add the parameters for the stored procedure here 
     @EmpID nchar(10), 
     @FirstName varchar(50), 
     @LastName varchar(50), 
     @Email varchar(50), 
     @Password varchar(50), 
     @BankID int , 
     @DesigID int , 
     @DeptID int , 
     @Address varchar(50), 
     @Contact varchar(50) 
    AS 
    BEGIN 
     -- SET NOCOUNT ON added to prevent extra result sets from 
     -- interfering with SELECT statements. 
     SET NOCOUNT ON; 

     -- Insert statements for procedure here 
     insert into Employee (EmpID,FirstName, LastName, Email,"Password",DesigID,DeptID,"Address", Contact) values (@EmpID,@FirstName, @LastName, @Email, @Password,@DesigID,@DeptID,@Address,@contact) 
    END 
+0

なぜBankIdのコードにコメントしましたか?それが必要でない場合は、SQLクエリコードからもコードを削除してください。私はエラーがあなたのSQLコマンドではないと思うC#コードではない。 BankID throwing exceptionのnullをintに変換します。SQL Queryを手動で同じ値を与えて実行してみます。 –

答えて

0

EmployeIDの変数の型がintであるので、あなたがお役に立てば幸い、intにtxtBoxEmpIdの値を変換する必要がある場合。 cmd.Parameters.AddWithValue("@EmpID", Convert.ToInt32(TextBoxEmpID.Text));

関連する問題