自动增量字段

时间:2014-04-15 08:26:16

标签: c# sql winforms ms-access

我需要自动增量NroFattura和AnnoFattura(这是报告的年份): Error

我不知道如何使用C#或Access设置。 我想NroFattura就像n = n + 1 和AnnoFattura就像n =现在一年(功能) 我背后有一个winform(C#)

2 个答案:

答案 0 :(得分:0)

如果你有一个简单的场景,那时只有一个用户使用数据库,那么只需找到在特定年份为FatturaNro插入的最高值

 string query = "SELECT MAX(FatturaNro) FROM yourTableName WHERE AnnoFattura=?";
 OleDbCommand cmd = new OleDbCommand(query, connection);
 cmd.Parameters.AddWithValue("@p1", DateTime.Today.Year);
 object result = cmd.ExecuteScalar();
 int newInvoiceNumber = (result == null ? 1 : Convert.ToInt32(result)+1);

答案 1 :(得分:0)

访问自动增量设置不适合此类操作。如果删除项目,计数仍将计数。例如,如果您有20个项目,删除2,则计数在下一次插入时仍将移至21。自动增量字段应该用作记录的唯一ID,而不是“行号”。

您可以为唯一索引添加新列,因此可以进行行特定编辑。 在C#代码中计算NroFattura很容易。使用正确的值对最终插入字符串进行整形并运行它。