3

我像这样从数据库中检索数据:

OleDbDataAdapter dataAdapter 
            = new OleDbDataAdapter("SELECT * "
              + " FROM myTab1, myTab2"
              + " WHERE myTab1.col1 = myTab2.col3"
              , connection);//OleDbConnection connection = new OleDbConnection();
DataTable dataTable = new DataTable("myDataTable");
BindingSource bindingSource = new BindingSource();
bindingSource.DataSource = dataTable;
dataAdapter.Fill(dataTable);  

然后我用bindingSource它来访问我程序中的数据,一切都很完美。但是在我进行了所有更改之后bindingSource,我需要将它们保存到数据库中。我怎样才能做到这一点?

4

1 回答 1

3

Update()好吧,通常你会调用DataAdapter

dataAdapter.Update(dataTable);

但由于您的查询“连接”了两个表,因此可能并不那么容易。如果您将SELECT查询转换为正确的连接,则可能有可能:

  "SELECT * "
+ "FROM myTab1 "
+ "JOIN myTab2 ON myTab1.col1 = myTab2.col3"

其他一些选择:

  • 编写一条 UPDATE 语句,将正确的值放入正确的表中并设置您dataAdapterUpdateStatement
  • 使用单独的表(每个基表一个)填充数据集并加入您的应用程序

来自 MSDN 的更多信息:

http://msdn.microsoft.com/en-us/library/xzb1zw3x(v=vs.80).aspx

于 2012-10-17T20:41:24.877 回答