如何在删除数据库中的行后重新排序ID

Fir*_*naa 0 c# sql database sql-server

我正在使用C#制作具有sql数据库的程序,在数据库中我有一个名为的表Workers,它有一个自动增量和主键ID_column,当我删除一个记录时,ID之间会有一个间隙.

删除记录后,我该怎么做才能重新订购ID?

UPDATE

我要做的是在找到它后在屏幕上显示记录,所以我尝试使用ID它来做到这一点,但由于这些差距,它有一些例外!

更新2

这是我试图使用的代码

private void btnFind_Click(object sender, EventArgs e)
    {
        string searchFor = "";
        string searchOn = "";
        string searchString = "";
        int results = 0;

        if (searchTextBox.Text.Trim() == "")
            MessageBox.Show("Nothing to search for");

        if (cb1.Text == "Last Name")
        {
            searchFor = searchTextBox.Text.Trim();
            searchOn = "last_Name=";
            searchString = searchOn + "'" + searchFor + "'";
        }

        if (cb1.Text == "Job Title")
        {
            searchFor = searchTextBox.Text.Trim();
            searchOn = "job_Title=";
            searchString = searchOn + "'" + searchFor + "'";
        }

        DataRow[] returnedRows;

        returnedRows = ds1.Tables["Workers"].Select(searchString);

        results = returnedRows.Length;

        if (results > 0)
        {
            DataRow dr1;

            dr1 = returnedRows[0];
            inc = (int)dr1["Worker_ID"]-1;

            NavigateRecords();

        }
        else
        {
            MessageBox.Show("No such Record");
        }

    }
Run Code Online (Sandbox Code Playgroud)

inc是当前显示的记录,NavigateRecords()并显示带有给定编号的记录inc

void NavigateRecords()
    {
        DataRow dRow = ds1.Tables["Workers"].Rows[inc];

        textBox1.Text =  dRow.ItemArray.GetValue(1).ToString();
        textBox2.Text =  dRow.ItemArray.GetValue(2).ToString();
        textBox3.Text =  dRow.ItemArray.GetValue(3).ToString();
    }
Run Code Online (Sandbox Code Playgroud)

Mar*_*arc 5

通常,出于完整性原因,我们永远不会更改数据库中的ID.

在您的情况下,如果出于显示原因,我建议使用Row_Number

在数据库中存在间隙是没有问题的.