表格上的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();
}
}
答案 0 :(得分:0)
You can try using the SQL Query
DBCC CHECKIDENT('TABLENAME',RESEED,initialvalue);
答案 1 :(得分:0)
当您将列声明为INTEGER PRIMARY KEY时,您不需要执行任何操作,因为数据库会自动使用表中最大值之后的下一个值。
当您将列声明为INTEGER PRIMARY KEY AUTOINCREMENT时,当前计数器存储在sqlite_sequence
表中。你可以简单地modify it by updating that table。