C# 如果datagridview值为;1“;我无法得到它的价值
我使用C# 如果datagridview值为;1“;我无法得到它的价值,c#,datagridview,C#,Datagridview,我使用idcorrectcounter(int)写入单元格的新ID,并使用I(int)标识将更新的行 我使用(Convert.ToInt32(txtrid.Text)-2)根据行号执行代码 我想在删除后排列ID单元格,此代码可以正常工作,直到其中一个ID单元格为“1” intIDcorrectCounter=0; 对于(int i=0;i我认为您没有在此处设置唯一的“ID标识符”。删除表行后重置自动增量 通常情况下,表上的ID列之类的列会自动递增。这只是意味着下一次插入到表中的ID比上一次插入的
idcorrectcounter(int)
写入单元格的新ID,并使用I(int)
标识将更新的行
我使用(Convert.ToInt32(txtrid.Text)-2)
根据行号执行代码
我想在删除后排列ID单元格,此代码可以正常工作,直到其中一个ID单元格为“1”
intIDcorrectCounter=0;
对于(int i=0;i我认为您没有在此处设置唯一的“ID标识符”。删除表行后重置自动增量
通常情况下,表上的ID列之类的列会自动递增。这只是意味着下一次插入到表中的ID比上一次插入的ID多一个,因此所有ID都是唯一的
但是,如果从表中删除一行,该表将自动递增,就像该行根本没有被删除一样。结果是数字序列中出现了一个间隙。这通常不是什么问题,但您可能需要重置自动递增字段
重置自动递增字段有两个简单步骤:
在自动递增字段中查找最大数字
要查找最大的数字,请运行以下SQL命令:
从表中选择MAX(列
)
用自动递增列的名称替换“列”。用表的名称替换表。
重置自动递增字段
下一步是获取从第一个命令获得的数字,并从中自动递增。因此,在该数字上添加一个数字,然后运行以下命令:
更改表格表格自动增量=数字
用上一个命令的结果加上一个替换“number”,并用表名替换表
如果删除了表中的所有行,则可以运行ALTERTABLE命令并将其重置为0
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;