2016-06-23 9 views
-7
con.Open(); 
    //stringquery=("insert into Tbl_EmployeeDetails values='"+txtName.Text+"','"+txtContact.Text+"','"+txtAddress.Text+"','"+txtEmployeeID.Text+"','"+txtJobLocation.Text+"','"+txtDateOfBirth.Text+"','"+Rdllist.selectedItem.Text+"'"); 
    //sql command cmd=new sqlcommand(query,con); 
    //cmd.ExecuteNonquery(); 
    SqlCommand cmd= new SqlCommand("Insert into Tbl_EmployeeDetails(Name,Address,Contact,Emp_ID,JobLocation,DateOfBirth,Gender)values(@Name,@Address,@Contact,@Emp_ID,@JobLocation,@DateOfBirth,@Gender)",con); 
    cmd.Parameters.AddWithValue("@Name", txtName.Text); 
    cmd.Parameters.AddWithValue("@Address", txtAddress.Text); 
    cmd.Parameters.AddWithValue("@Contact", txtContact.Text); 
    cmd.Parameters.AddWithValue("@Employee_ID", txtEmp_ID.Text); 
    cmd.Parameters.AddWithValue("@JobLocation", txtJobLocation.Text); 
    cmd.Parameters.AddWithValue("@DateOfBirth", txtDateOfBirth.Text); 
    cmd.Parameters.AddWithValue("@Gender", Rdllist.SelectedItem.Text); 

    cmd.ExecuteNonQuery(); 
     ScriptManager.RegisterClientScriptBlock(this,this.GetType(),"alertMessage","alert('Record Inserted Successfully')",true); 
     txtName.Text= String.Empty; 
     txtAddress.Text= String.Empty; 
     txtContact.Text= String.Empty; 
     txtEmp_ID.Text= String.Empty; 
     txtJobLocation.Text= String.Empty; 
     txtDateOfBirth.Text= String.Empty; 
     // txtGender.Text= String.Empty; 

     con.Close(); 
    } 
} 
+2

Bitte bevor Sie Ihre Frage zu stellen, lesen Sie bitte „Wie stelle ich eine gute Frage“: http://stackoverflow.com/help/how-to- frage – Deadpool

+0

[Sie müssen diese Antwort beziehen] (http://stackoverflow.com/questions/37983859/error-converting-datatype-nvarchar-to-int-from-c-sharp-to-sql/37984040#37984040) –

+0

Willkommen bei Stack Overflow. Was hast du bisher versucht? – ardila

Antwort

0

@Employee_ID die gleiche @emp_id werden sollte, wie es mit Ihrer Anfrage ist.

zB:

cmd.Parameters.AddWithValue("@Emp_ID", txtEmp_ID.Text);

Daher ist diese versuchen:

con.Open(); 

    SqlCommand cmd= new SqlCommand("Insert into Tbl_EmployeeDetails(Name,Address,Contact,Emp_ID,JobLocation,DateOfBirth,Gender)values(@Name,@Address,@Contact,@Emp_ID,@JobLocation,@DateOfBirth,@Gender)",con); 
    cmd.Parameters.AddWithValue("@Name", txtName.Text); 
    cmd.Parameters.AddWithValue("@Address", txtAddress.Text); 
    cmd.Parameters.AddWithValue("@Contact", txtContact.Text); 
     cmd.Parameters.AddWithValue("@Emp_ID", txtEmp_ID.Text); 
     cmd.Parameters.AddWithValue("@JobLocation", txtJobLocation.Text); 
    cmd.Parameters.AddWithValue("@DateOfBirth", txtDateOfBirth.Text); 
    cmd.Parameters.AddWithValue("@Gender", Rdllist.SelectedItem.Text); 

     cmd.ExecuteNonQuery(); 
     ScriptManager.RegisterClientScriptBlock(this,this.GetType(),"alertMessage","alert('Record Inserted Successfully')",true); 
    txtName.Text= String.Empty; 
    txtAddress.Text= String.Empty; 
    txtContact.Text= String.Empty; 
    txtEmp_ID.Text= String.Empty; 
    txtJobLocation.Text= String.Empty; 
    txtDateOfBirth.Text= String.Empty; 
    // txtGender.Text= String.Empty; 

    con.Close(); 
    } 
    } 
0

Oder Sie können einfach auf Ihre Werte ändern:

values(@Name,@Address,@Contact,@Employee_ID,@JobLocation,@DateOfBirth,@Gender) 

Da Sie nannte es wie folgt aus:

cmd.Parameters.AddWithValue("@Employee_ID", txtEmp_ID.Text); 

oder

values(@Name,@Address,@Contact,@Emp_ID,@JobLocation,@DateOfBirth,@Gender) 

cmd.Parameters.AddWithValue("@Emp_ID", txtEmp_ID.Text); 

Was auch immer in den Werten der Name in cmd.parameters.addwithvalue verwendet werden soll.

Vorsicht vor den Gefahren der AddWithValue: http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/

Verwandte Themen