【发布时间】:2014-03-08 21:53:24
【问题描述】:
我在 sql server 2005 中创建了一个数据库,并使用 count all rows 表创建了一个带有自动生成 id 字段的表。
我还在 c# 桌面应用程序中开发了一个项目。
我有一个问题,如果我在数据库中删除 1 行表,其中 id 是通过编码 c# 自动生成的,我如何设置自动生成 id 就像之前删除的 id 一样? 因为在我删除字段的同时,所有行的计数都减少了,我的计数增加了。
所以,我的自动生成 id 是错误的,因为 id 冲突。
这是我的自动生成 ID
public string generateIdActivity()
{
string activity = "";
int jml = myActivity.getCountActivity() + 1;
if (myActivity.getCountActivity() < 10)
{
activity = "ACT0000" + jml;
}
if (myActivity.getCountActivity() < 100 && myActivity.getCountActivity() > 9)
{
activity = "ACT000" + jml;
}
if (myActivity.getCountActivity() < 1000 && myActivity.getCountActivity() > 99)
{
activity = "ACT00" + jml;
}
if (myActivity.getCountActivity() < 10000 && myActivity.getCountActivity() > 999)
{
activity = "ACT0" + jml;
}
if (myActivity.getCountActivity() < 100000 && myActivity.getCountActivity() > 9999)
{
activity = "ACT" + jml;
}
return activity;
}
【问题讨论】:
-
我知道评论与这里提出的问题无关。但是这段代码可以即兴创作。您多次调用函数 myActivity.getCountActivity() 。这是不必要的开销。您可以将值保存到变量并使用它,或者您可以使用变量(jml - 1)..这将即兴代码..它只是建议..
标签: c# sql winforms sql-server-2005