Access中使用OleDbParameter产生奇怪的问题!

OleDbConnection con  =   new  OleDbConnection( " Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|Data.mdb " );
        OleDbCommand cmd 
=   new  OleDbCommand( " update student set xm=@xm where xh=@xh " , con);

        cmd.Parameters.AddWithValue(
" @xh " this .TextBox1.Text);
        cmd.Parameters.AddWithValue(
" @xm " this .TextBox2.Text);

        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();

上面的代码很简单,只是更新一个字段,但是总是更新不成功!!后来终于在网上找到了解决方法。

OLE形式的SQL参数赋什的顺序必须与SQL语句参数顺序一样

交换一下参数就的顺序就OK了:

cmd.Parameters.AddWithValue( " @xm " this .TextBox2.Text);
cmd.Parameters.AddWithValue(
" @xh " this .TextBox1.Text);

你可能感兴趣的:(parameter)