更新数据集不起作用? WPF C#

时间:2011-06-16 12:34:06

标签: c# wpf dataset

我有一个WPF情况,一个页面有一个带有客户端的数据网格,另一个页面带有一个字段来填充一个新客户端。

我想让“new-client-page”搜索最高的clientID en增量,对于新客户端,这听起来非常简单,但我有一个问题。

在表的表适配器中,我添加了一个新查询:SELECT MAX(clientID) FROM clients

我用:

执行查询
DataSet1TableAdapters.klantenTableAdapter tableAdapter = new DataSet1TableAdapters.klantenTableAdapter();
DataSet1 datasetvar = new DataSet1();
int returnValue = (int)tableAdapter.GetMaxKlantnr();

一次正常。我在returnValue获得了最高价值,但是如果我第二次去“new-client-page”,则clientID仍然是相同的。

我尝试用tableAdapter.Update(datasetvar);更新数据集,但这没有意义.. :(

2 个答案:

答案 0 :(得分:1)

Lars你在使用什么数据库?将ID列设置为标识,它将由db自动生成,您的解决方案无论如何都不支持任何并发,并且它不是读取最大ID并向其添加1的方式...

答案 1 :(得分:0)

添加新行时需要设置它。然后由适配器将其作为INSERT执行。适配器仅提交更改。

代码看起来几乎像:

var newRow = ClientTable.NewRow();

newRow["ClientID"] = GetNewID();
...set other fields...

ClientTable.Rows.Add(newRow);

Adapter.Update(ClientTable);