C# C-从sqlite中的表中获取最后一个id

C# C-从sqlite中的表中获取最后一个id,c#,sqlite,primary-key,auto-increment,C#,Sqlite,Primary Key,Auto Increment,我在sqlite中有一个表,它包含许多列,如id、编号、名称 id是主id并且是自动递增的,当我尝试获取插入到表数据中的最后一个id时,它返回-1 连接: SQLiteConnection con = new SQLiteConnection(@"Datasource =|DataDirectory|\SmartScale.db"); 我使用的代码是: con.Open(); SQLiteCommand cmd=new SQLiteCommand("SELECT

我在sqlite中有一个表,它包含许多列,如id、编号、名称 id是主id并且是自动递增的,当我尝试获取插入到表数据中的最后一个id时,它返回-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();
您不想为此使用ExecuteOnQuery,ExecuteScalar更合适,因为它提供了结果集中第一行的第一列

使用ExecuteOnQuery时,select语句总是使用-1。对于INSERT、updates或DELETE,返回值是受语句影响的行数