将语句更新到文本框c#条件中的数据类型不匹配

将语句更新到文本框c#条件中的数据类型不匹配,c#,C#,试图使用update语句,但当我执行程序时,它声明: 数据条件中的用户类型不匹配 单击updatebutton时,我希望数据库更新,其中ID= private void Update_Click(object sender, EventArgs e) { //OPENING CONNECTION db.Open(); int idd = int.Parse( InstructorIDText.Text); OleDbCommand df = new OleDb

试图使用update语句,但当我执行程序时,它声明: 数据条件中的用户类型不匹配

单击updatebutton时,我希望数据库更新,其中ID=

private void Update_Click(object sender, EventArgs e)
{
    //OPENING CONNECTION

    db.Open();
    int idd = int.Parse( InstructorIDText.Text);

    OleDbCommand df = new OleDbCommand("UPDATE Instructors SET FirstName='"+FNText.Text+"',LastName='"+Lntext.Text+"',Street='"+StreetText.Text+"',City='"+CityText.Text+"',State='"+StateText.Text+"',Zip='"+ZipText.Text+"',Office='"+OfficeText.Text+"',EMail='"+EmailText.Text+"' WHERE ID = " + idd +"", db);
    //creating parameters
    df.Parameters.AddWithValue("@ID", InstructorIDText.Text);

    df.Parameters.AddWithValue("@FirstName", FNText.Text);
    df.Parameters.AddWithValue("@LastName", Lntext.Text);
    df.Parameters.AddWithValue("@Street", StreetText.Text);
    df.Parameters.AddWithValue("@City", CityText.Text);
    df.Parameters.AddWithValue("@State", StateText.Text);
    df.Parameters.AddWithValue("@Zip", ZipText.Text);
    df.Parameters.AddWithValue("@Office", OfficeText.Text);
    df.Parameters.AddWithValue("@EMail", EmailText.Text);
    df.ExecuteNonQuery();
    db.Close();
}

使用带值添加时,请使用变量idd而不是.Text属性。查询要求@id参数为int,但您提供的是字符串


查看这是否有助于在查询中使用
@参数而不是串联精确值

对于MS-SQL

//OPENING CONNECTION

db.Open();
int idd = int.Parse(InstructorIDText.Text);

OleDbCommand df = new OleDbCommand("UPDATE Instructors SET FirstName=@FirstName,LastName=@LastName,Street=@Street,City=@City,State=@State,Zip=@Zip,Office=@Office,EMail=@EMail WHERE ID = @ID", db);
//creating parameters
df.Parameters.AddWithValue("@ID", InstructorIDText.Text);

df.Parameters.AddWithValue("@FirstName", FNText.Text);
df.Parameters.AddWithValue("@LastName", Lntext.Text);
df.Parameters.AddWithValue("@Street", StreetText.Text);
df.Parameters.AddWithValue("@City", CityText.Text);
df.Parameters.AddWithValue("@State", StateText.Text);
df.Parameters.AddWithValue("@Zip", ZipText.Text);
df.Parameters.AddWithValue("@Office", OfficeText.Text);
df.Parameters.AddWithValue("@EMail", EmailText.Text);
df.ExecuteNonQuery();
db.Close();

我投了赞成票,这是一个更好的答案,因为它显示了应该如何进行修改。