我刚刚在WinForms中弄脏了,我通过一个可爱的教程发现了将数据库表拖到我主表单的设计视图上的魔力.所以,一切都很可爱,我已经得到了我的DataGridView,所有列都表现得很漂亮.
但...
当我运行我的应用程序对这个全新的,空的.sdf(我创建的两个表的空保存,它们本身是空的)时,每当我尝试时,我在对应于我的主键/标识列的列中得到-1创建第一条记录.
知道为什么会这样吗?如果它有帮助,那么该列就是一个int
.
@Brian -1是默认值的不错选择,因为没有"真实"行可能具有小于零的标识.如果默认为0或1,那么它可能会与现有行发生冲突,从而导致主键违规.
对于保持脱机并在保存之前创建多行的应用程序,通常的做法是继续向后计数(-2,-3,-4)以获取每个新行的标识.然后,当它们被保存时,服务器可以用表中的真正"下一个"值替换它们.