如果datagridview值为"1"我无法得到它的价值
本文关键字:quot 值为 datagridview 如果 | 更新日期: 2023-09-27 18:04:23
我使用idcorrectcounter(int)
来编写单元格的新id,使用i(int)
来标识要更新的行。
我使用(Convert.ToInt32(txtrid.Text)-2)
根据行号执行代码。
我想在删除后排列ID单元格,这段代码工作得很好,直到其中一个ID单元格为"1"。
int idcorrectcounter=0;
for (int i = 0; i <= (Convert.ToInt32(txtrid.Text)-2); i++)
{
idcorrectcounter++;
connect.Open();
SqlCommand idcorrect = new SqlCommand("Update bighall1record set ID="
+ idcorrectcounter.ToString()
+ " where ID='"
+ dataGridView1.Rows[i].Cells[0].Value.ToString()
+ "'", connect);
idcorrect.ExecuteNonQuery();
connect.Close();
showdata("Select *from bighall1record");
}
idcorrectcounter=0;
我认为你没有在这里设置唯一的" ID标识符"。
删除表行后重置自动增量
通常情况下,表上的列(如ID列)会自动递增。这仅仅意味着下一个插入到表中的ID将比前一个多一个,因此所有的ID都将是唯一的。
但是,如果从表中删除一行,表将自动增加,就好像该行根本没有被删除一样。结果是数列中有一个缺口。这通常不是什么大问题,但是您可能需要重置auto increment字段。
重置auto increment字段有两个简单的步骤:查找auto increment字段中的最大值要查找最大的数字,请执行以下SQL命令:SELECT MAX(column
) FROM table
;
将'column'替换为自动递增列的名称。将table替换为表的名称。重置auto increment字段
下一步是获取从第一个命令获得的数字,并从那里自动递增。所以在这个数字上加1,然后运行下面的命令:ALTER TABLE table
AUTO_INCREMENT = number;
将'number'替换为前一个命令的结果加1,并将table替换为表名。
如果您删除了表中的所有行,那么您可以运行alter table命令将其重置为0