我有一个远程Oracle数据库和我感兴趣的某个表。对于我的C#程序,我使用VS DataSet设计器创建了一个DataSet,并为该表添加了一个TableAdapter
。
现在我需要向数据库表中添加一个新行。起初,我尝试在数据集适配器中添加insert a row查询,如下所示:
然后,为了访问它,我使用了这个代码:
DataSetTableAdapters.INVENTURTableAdapter inventur_adapter = new INVENTURTableAdapter();
inventur_adapter.InsertQuery( arg1, arg2, arg3, ...);
它没有抛出任何错误,但也没有更新远程数据库。
在此之后,我尝试了一个方法列出here:
DataSet ds = new DataSet();
DataSet.INVENTURRow newInventurRow = ds.INVENTUR.NewINVENTURRow();
newInventurRow.SOMEARG = value;
...
ds.NIESSING.Rows.Add(newInventurRow);
它也没有抛出任何错误,也没有更新远程数据库。
我猜在这两个示例中,这是因为我需要创建该数据集的新示例,但我不明白如何将新创建的数据集示例与远程表“合并
Here他们使用此行保存更改:
this.regionTableAdapter.Update(this.northwindDataSet.Region);
因此,对于我示例,它应该是:
DataSetTableAdapters.INVENTURTableAdapter.Update(DataSet.INVENTUR);
问题是我不能使用“Dataset.INVENTUR”,只能使用INVENTURDataTable
,它不起作用
或者我可以这样做:
DataSetTableAdapters.INVENTURTableAdapter.Update(ds.INVENTUR);
这将引发错误:
非静态需要对象引用
如何实际保存更新的数据?
1条答案
按热度按时间3pmvbmvn1#
下面是我解决这个问题的方法:
也许不是最佳的方法来做到这一点,但这是唯一的方法,我设法解决它,它的工作。