我在datagridview中遇到问题。
我正在使用vb 2008和访问数据库。当我为项目创建新记录时,No
列(访问中的主键和自动编号)始终显示负数。
如何将其设为正数,并且应该遵循datagridview中的编号。这是一个屏幕截图:
答案 0 :(得分:1)
您的“否”列将以AutoIncrementSeed为-1且AutoIncrementStep为-1开始。 DataSet不够智能,无法从“No”列的Max值开始,因此您需要以编程方式设置它。
Me.MyDataSet.MyDataTable.Columns("No").AutoIncrementSeed = _
Me.MyDataSet.MyDataTable.Max(Function(Row) Row.No) + 1
Me.MyDataSet.MyDataTable.Columns("No").AutoIncrementStep = 1
上面的第一行找到No列的最大值,并将AutoIncrementSeed设置为高于最大值的1。第二行只是将IncrementStep设置为1。
请记住,DataGridView中的No列可能与数据库创建的实际值不对应。提交数据时,数据库将创建一个新的AutoNumber值,忽略您可能传入的任何其他值。如果您的用户希望在提交新条目后No值保持不变,则会有一些陷阱。
答案 1 :(得分:1)
只需打开数据集设计器,然后查找相关表的适用数据视图的增量参数(-1),并将其更改为(+1)。然后,重建或重新编译您的应用程序,问题将完成。
答案 2 :(得分:0)
if its showing in negative
check the logic why its converted to negative
changing - to + dosent matters, but logic ??
CONVERT AS将条件设置为column1> = 0