问题描述
- 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
时间: 2024-08-30 01:49:44