想请教一个关于DataAdapter的updatecommand的问题

yunhaiC QQ654777694 2011-09-22 09:24:31
"update account set userpassword = " + txtNewPw.Text.Trim() + " where username = " + txtUserName.Text.Trim()

这个是我想对帐户表进行数据更新,txtNewPw是更新的新密码。

不知道理论上txtNewPw是不是一定要绑定数据源才能进行更新,于是我看了MSDN的update介绍。


static private DataSet CreateCommandAndUpdate(
string connectionString,
string queryString)
{
DataSet dataSet = new DataSet();

using (OleDbConnection connection =
new OleDbConnection(connectionString))
{
connection.Open();
OleDbDataAdapter adapter =
new OleDbDataAdapter();
adapter.SelectCommand =
new OleDbCommand(queryString, connection);
OleDbCommandBuilder builder =
new OleDbCommandBuilder(adapter);

adapter.Fill(dataSet);

// Code to modify data in the DataSet here.

// Without the OleDbCommandBuilder, this line would fail.
adapter.UpdateCommand = builder.GetUpdateCommand();
adapter.Update(dataSet);
}
return dataSet;
}


上面是MSDN的,如果用OleDbCommandBuilder就不用写Insert或者delete等命令(这是我想要的效果).
但是有个问题,似乎这种方法需要绑定的数据源,所以我想知道,结合我的命令与MSDN上的代码,我怎么才能用命令不绑定控件进行更新,而且不用写Insert或者delete等命令。

于是我写了下面的代码。
static private DataSet CreateCommandAndUpdate(
string connectionString,
string queryString,
updatecommand updatecmd
)
{
//然后把下面这句改为传进来参数赋值
adapter.UpdateCommand = updatecmd;
//并且加了一句
dataSet.AcceptChanges();
}


发觉数据没变化,所以不明白了,请教。
申明下上面的代码在语法上只是表达那个意思,可能OleDb的updatecommand不是这样写的,只是想表达那个意思
...全文
108 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
没有人?
  • 打赏
  • 举报
回复
有没有人帮忙一下啊,谢谢啦

111,125

社区成员

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

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

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