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