修改数据库字段值

utada776 2008-01-29 09:54:12
原来的代码是通过SQL语言,修改字段内容
sql = "UPDATE TableName Set feild1 = xxx where feild = a";
myDBCommand = new OleDbCommand(sql,myDBConnection);
myDBReader = myDBCommand.ExecuteReader();

我希望改为用Select语句 先找到那行纪录
然后再对其字段修改内容
就象下面代码这样的意思
sql = "SELeCT * form TableName where feild = a";
myDBCommand = new OleDbCommand(sql,myDBConnection);
myDBReader = myDBCommand.ExecuteReader();
myDBReader["feild1"] = xxx
当然这段代码,是错的,是只读属性。
请问应该怎么写。
...全文
323 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
vrhero 2008-01-29
  • 打赏
  • 举报
回复
到最后你还是得UPDATE...

4楼的代码厉害...
manonroad 2008-01-29
  • 打赏
  • 举报
回复
详细如下

SELECT Colum1, outFieldValue =
CASE Field
WHEN 'a' THEN 'XXX'
ELSE Field
END,
Colum3
FROM YourTable


jiatong1981 2008-01-29
  • 打赏
  • 举报
回复
修改数据库无论什么形式和过程 最终都是通过SQL语句来的

这点希望lz明白
ycagri 2008-01-29
  • 打赏
  • 举报
回复
就算是查找,再修改,也还是要用update这种方式的
sqshine 2008-01-29
  • 打赏
  • 举报
回复
myDBReader["feild1"] = xxx

换成
while(myDBReader.IsRead()){
myDBReader["feild1"] = xxx;
}
manonroad 2008-01-29
  • 打赏
  • 举报
回复
用CASE。
jiatong1981 2008-01-29
  • 打赏
  • 举报
回复
再描述清晰些啊 没看明白哦
kbryant 2008-01-29
  • 打赏
  • 举报
回复
友情up
  • 打赏
  • 举报
回复
不管怎么着也得用Update去更新啊。
不过你可以用别的方法去实现而已
SqlDataAdapter adapter = new SqlDataAdapter();

// Create the SelectCommand.
SqlCommand command = new SqlCommand("SELeCT * form TableName where feild =a", connection);

// Add the parameters for the SelectCommand.

adapter.SelectCommand = command;

// Create the UpdateCommand.
command = new SqlCommand(
"UPDATE TableName Set feild1 = '@feild' where feild = a", connection);

// Add the parameters for the UpdateCommand.
command.Parameters.Add("@feild", SqlDbType.NChar, 5, "feild1");

adapter.UpdateCommand = command;

DataSet ds = new DataSet();
adapter.Fill(ds);
foreach(DataRow row in ds.Tables[0].Rows)
{
row["feild1"] = xxx ;
row.RowState = DataRowState.Modified;
}
adapter.Update(ds);

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧