【发布时间】:2015-04-06 08:02:29
【问题描述】:
表中的 ID 列等列会自动递增的情况。这只是意味着下一次插入到表中的 ID 将比前一个多一个 ID,因此所有 ID 都是唯一的。
但是,如果您从表中删除一行,则该表将自动递增,就好像该行根本没有被删除一样。结果是数字序列中的间隙。这通常不是什么大问题,但您可能需要重置自动增量字段。
PatientNo 是主键,这是我目前尝试过的代码
private void txtincr()
{
int a;
if (textPatientNo.Text == "")
{
if (con.State == 0)
{
con.Open();
}
string Query= "select PatientNo from PatientRegistration";
SQLiteDataAdapter DataAdapter = new SQLiteDataAdapter(Query,con);
DataSet PatientDataSet = new DataSet();
DataAdapter.Fill(PatientDataSet);
if (PatientDataSet.Tables[0].Rows.Count != 0)
{
a = PatientDataSet.Tables[0].Rows.Count;
a = a + 1;
textPatientNo.Text = Convert.ToString(a);
textPatientName.Focus();
}
else
{
textPatientNo.Text = "1";
textPatientName.Focus();
}
con.Close();
}
}
【问题讨论】:
-
为什么需要这样做?
-
只有我一个人无法回答这个问题吗?请再解释一下 - 您想要重置的时间和地点
标签: c# .net sqlite auto-increment