C#-从 sqlite 中的 table 获取最后一个 ID
C#- Getting last id from a table in sqlite
我在 sqlite 中有一个 table,其中包含许多列,例如 id、number、name
id 是主要的并且自动递增,当我尝试将最后一个 id 插入 table "Data" 它 returns "-1"
连接:
SQLiteConnection con = new SQLiteConnection(@"Datasource =|DataDirectory|\SmartScale.db");
我使用的代码:
con.Open();
SQLiteCommand cmd=new SQLiteCommand("SELECT MAX(id) FROM Data", con);
int id= cmd.ExecuteNonQuery();
tId.Text =Convert.ToString(id);
con.Close();
您不想为此使用 ExecuteNonQuery
,ExecuteScalar
更合适,因为它会为您提供结果集中第一行的第一列。
当使用 ExecuteNonQuery
时,-1
是 select 语句的结果。对于插入、更新或删除,return 值是受语句影响的行数。
我在 sqlite 中有一个 table,其中包含许多列,例如 id、number、name id 是主要的并且自动递增,当我尝试将最后一个 id 插入 table "Data" 它 returns "-1"
连接:
SQLiteConnection con = new SQLiteConnection(@"Datasource =|DataDirectory|\SmartScale.db");
我使用的代码:
con.Open();
SQLiteCommand cmd=new SQLiteCommand("SELECT MAX(id) FROM Data", con);
int id= cmd.ExecuteNonQuery();
tId.Text =Convert.ToString(id);
con.Close();
您不想为此使用 ExecuteNonQuery
,ExecuteScalar
更合适,因为它会为您提供结果集中第一行的第一列。
当使用 ExecuteNonQuery
时,-1
是 select 语句的结果。对于插入、更新或删除,return 值是受语句影响的行数。