C# 在C中考虑网格上的更改更新DB上的表#
我正在通过C# 在C中考虑网格上的更改更新DB上的表#,c#,datagrid,datatable,sql-update,odp.net,C#,Datagrid,Datatable,Sql Update,Odp.net,我正在通过System.Data.DataTable在C#(WinForms)中填充数据网格数据表通过ODP从DB表填充 我在数据网格中有一个数据导航器,用于更新、删除和插入行 我想使用DataTable将数据网格中所做的所有更改提交到数据库 我必须使用OracleDataAdapter,但我不知道如何实现这一点 我应该使用哪种命令文本来实现这三个命令(更新,删除,插入) 下面的代码不起作用(可能是因为插入的CommandTextI不合适) 对于insert,请在数据表中创建新行并插入到数据表中
System.Data.DataTable
在C#(WinForms)中填充数据网格<代码>数据表
通过ODP
从DB表
填充
我在数据网格
中有一个数据导航器
,用于更新、删除和插入行
我想使用DataTable
将数据网格中所做的所有更改提交到数据库
我必须使用OracleDataAdapter
,但我不知道如何实现这一点
我应该使用哪种命令文本
来实现这三个命令(更新
,删除
,插入
)
下面的代码不起作用(可能是因为插入的CommandText
I不合适)
对于insert,请在数据表中创建新行并插入到数据表中;对于update,请更新值并最终保存数据集或数据表的更改;对于ORACLECOMANDBuilder,请在插入select
查询后生成相应的insert
、update
和delete
查询
string selectCommand = "select * from Table";
oracleDataAdapter.SelectCommand = new OracleCommand(selectCommand, m_Connection);
OracleCommandBuilder cmdBuilder = new OracleCommandBuilder(oracleDataAdapter);
DataTable dataTable = new DataTable();
oracleDataAdapter.Fill(dataTable);
在OracleCommandBuilder
以这种方式构建命令后,您可以执行数据表中的任何更新,如下所示:
oracleDataAdapter.Update(dataTable);
序列、虚拟列等是不允许的。是的,但是CommandText
是什么样的,我想知道我的#ExecuteNonQuery(…)
方法是否适用于此目的?
oracleDataAdapter.Update(dataTable);