C#问题,求大神帮助,关于OleDbCommand对象的使用

C#问题,求大神帮助,关于OleDbCommand对象的使用

问题描述:

大神们看看以下代码,我只想在test.mdb这个数据库里面的管理员这张表中用户这一列的某一行插入text1,但是我写了如下代码之后,用户这一列的所有行都是text1这个变量,求大神帮忙,如何指定修改某一行中的数据

                            OleDbConnection cnn = new OleDbConnection();
            cnn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\test.mdb";
            cnn.Open();
            string accesstr = "update [管理员] set [用户]='" + text1 + "'";
            OleDbCommand cmd = new OleDbCommand(accesstr, cnn);
            cmd.Connection = cnn;
            cmd.CommandText = accesstr;
            index=cmd.ExecuteNonQuery();
            cmd.Dispose();
            cnn.Close();
            cnn.Dispose();

SQL语句里面加 WHERE 第几行,假设你这表里面有一个字段bh是递增的,要将第10行的【用户】更新为text1,就这样写
"update [管理员] set [用户]='" + text1 + "' where bh = 10;";

直接这么写的话就会报一个错:标准表达式中数据类型不匹配,我后来改成了
"update [管理员] set [用户]='" + text1 + "' where [UserID] = '" + 10 +" '";

条件没加,必须注明条件要不然更新表中所有行

你都没写where