c# - sqlite 中的自动递增在数字 10 处停止
c# - Auto increment in sqlite stops at number 10
我在包含列 "id" 的 sqlite 数据库中有一个 Table
我使用此代码在按下按钮时自动递增此列
con.Open();
SQLiteCommand cmd = new SQLiteCommand("Select MAX(id)+1 FROM Data", con);
object obj = cmd.ExecuteScalar();
int Amount = (obj != null && obj != DBNull.Value) ? Convert.ToInt32(obj) : 1;
con.Close();
tId.Text = Convert.ToString(Amount);
一切正常,直到表中有 10 条记录,然后它拒绝检索 ID 号“11”
您可以尝试更新您的代码:
con.Open();
SQLiteCommand cmd = new SQLiteCommand("Select MAX(cast(id as int))+1 FROM Data", con);
object obj = cmd.ExecuteScalar();
int Amount = (obj != null && obj != DBNull.Value) ? Convert.ToInt32(obj) : 1;
con.Close();
tId.Text = Convert.ToString(Amount);
我在包含列 "id" 的 sqlite 数据库中有一个 Table 我使用此代码在按下按钮时自动递增此列
con.Open();
SQLiteCommand cmd = new SQLiteCommand("Select MAX(id)+1 FROM Data", con);
object obj = cmd.ExecuteScalar();
int Amount = (obj != null && obj != DBNull.Value) ? Convert.ToInt32(obj) : 1;
con.Close();
tId.Text = Convert.ToString(Amount);
一切正常,直到表中有 10 条记录,然后它拒绝检索 ID 号“11”
您可以尝试更新您的代码:
con.Open();
SQLiteCommand cmd = new SQLiteCommand("Select MAX(cast(id as int))+1 FROM Data", con);
object obj = cmd.ExecuteScalar();
int Amount = (obj != null && obj != DBNull.Value) ? Convert.ToInt32(obj) : 1;
con.Close();
tId.Text = Convert.ToString(Amount);