求助Access数据库用OleDbCommandBuilder更新的问题

ding0623 2011-12-13 05:34:02
这个是sql类里的方法,然后winform调用,但是调试中除了selectcommand 3个command都是NULL ,是不是代码有问题..
public static void UpdateDs(string SQLString, DataSet ds, string tableName)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
try
{
connection.Open();
OleDbDataAdapter command = new OleDbDataAdapter(SQLString, connection);
OleDbCommandBuilder builder = new OleDbCommandBuilder(command);
command.Update(ds, tableName);
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
}
}
...全文
154 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ding0623 2011-12-14
  • 打赏
  • 举报
回复
诶..找到原因了,原来错误的用了remove()方法,应该用delete()方法才算改变了表
sdl2005lyx 2011-12-14
  • 打赏
  • 举报
回复
你没有显示设置:OleDbDataAdapter 的 SelectCommand 属性!
看看MSDN的解释:
OleDbDataAdapter 不会自动生成为了使对 DataSet 所作的更改和相关联的数据源协调起来所必须的 SQL 语句。但是,如果设置了 OleDbDataAdapter 的 SelectCommand 属性,那么就可以创建 OleDbCommandBuilder 对象,来自动生成 SQL 语句以更新单表。然后,OleDbCommandBuilder 将生成其他任何未设置的 SQL 语句。


public static DataSet UpdateRows(string connectionString,
string queryString, string tableName)
{
DataSet dataSet = new DataSet();
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(queryString, connection);
OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);

connection.Open();

adapter.Fill(dataSet, tableName);

//code to modify data in DataSet here

//Without the OleDbCommandBuilder this line would fail
adapter.Update(dataSet, tableName);

connection.Close();
}
return dataSet;
}


ding0623 2011-12-14
  • 打赏
  • 举报
回复
1楼的意思是不能用一个修改过的ds作为参数传过去吗?必须在方法里修改?
yth126 2011-12-14
  • 打赏
  • 举报
回复
是不是这里获取的就是NULL?
new OleDbDataAdapter(SQLString, connection);
ding0623 2011-12-14
  • 打赏
  • 举报
回复
ds当然修改过,然后再调用的 关键是调试的时候生成的command都是NULL,修改过也无法更新
dalmeeme 2011-12-13
  • 打赏
  • 举报
回复
在command.Update(ds, tableName);
之前ds必须被修改过,否则当然没有增删改命令生成。

111,098

社区成员

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

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

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