我已經在SQL Server 2005中創建了一個數據庫,並且使用count all rows table在一個包含自動生成ID字段的表中創建了一個數據庫。刪除在C#中使用自動生成的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)..這將即興代碼..它的只是暗示。 –