我有一个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);
更新数据集,但这没有意义.. :(
答案 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);