0

アクセスデータベースまたは任意のデータベースにチェックボックスの値を挿入するにはどうすればよいですか。

このSQLステートメントのいずれかを試しましたが、それでもエラーが発生します: OleDbException was Unhandled. 条件式のデータ型が一致しません。そしてそれは myData = myCommand.ExecuteReader(); を指しています。

allowviewpsr は、ms access データベースのブール型のフィールド、または YES/NO を持つフィールドであることに注意してください。:) chkviewpsr は mycheckbox です

SQL = "UPDATE `RUsers` SET `allowviewpsr` = '" + chkviewpsr.IsChecked.Value + "' WHERE `idnum`= '" + txtblkuserid.Text  + "' AND `fullname`= '" + txtblkusername.Text + "'";

これも:

SQL = "UPDATE `RUsers` SET `allowviewpsr` = '" + chkviewpsr.IsChecked + "' WHERE `idnum`= '" + txtblkuserid.Text  + "' AND `fullname`= '" + txtblkusername.Text + "'";

そしてこれも:

SQL = "UPDATE `RUsers` SET `allowviewpsr` = '" + chkviewpsr + "' WHERE `idnum`= '" + txtblkuserid.Text  + "' AND `fullname`= '" + txtblkusername.Text + "'";

ここに私のコネクタがあります:

myCommand.CommandText = SQL;
myCommand.Connection = MyNewOleDbConnection;
myAdapter.SelectCommand = myCommand;
myData = myCommand.ExecuteReader();

EDITED: hi anandkumar クイック リプレイに感謝します。NonQuery を試しましたが、上記と同じエラーが発生します。

SQL = "UPDATE `RWMUsers` SET `allowviewpsr` = '" + chkviewpsr.IsChecked.Value + "' WHERE `idnum`= '" + txtblkuserid.Text  + "' AND `fullname`= '" + txtblkusername.Text + "'";
myCommand.CommandText = SQL;
myCommand.Connection = MyNewOleDbConnection;
myAdapter.UpdateCommand = myCommand;
myCommand.ExecuteNonQuery();

私のAccessデータベースのスナップショット:(

ここに画像の説明を入力

4

1 に答える 1

3

それ以外の

myAdapter.SelectCommand = myCommand;
myCommand.ExecuteReader(); 

使用する

myAdapter.UpdateCommand = myCommand;
myCommand.ExecuteNonQuery();

参照:

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.updatecommand.aspx

于 2012-10-30T06:07:09.570 に答える