我正在使用SQLite C#库并根据我的要求,在添加之前我正在检索该表的rowid。当表空时,它工作正常但是出现错误。一旦我们添加任何数据(一行),它就可以正常工作。
mDbCon = GetConnection();
SQLiteCommand cmd = mDbCon.CreateCommand();
cmd.CommandText = " SELECT MAX(rowid) FROM " + “MYTABLE”;
cmd.CommandType = CommandType.Text;
mDbCon.Open();
SQLiteDataReader sqReader = cmd.ExecuteReader();
while (sqReader.Read())
{
if ( sqReader.IsDBNull(0) )
{
max = (Int32)sqReader.GetInt32(0);
}
}
mDbCon.Close();
当表“MYTABLE”没有任何数据时,它会抛出异常。
答案 0 :(得分:2)
这应该适合你。
SELECT IFNULL(MAX(RowId), 1) AS Id FROM MYTABLE
答案 1 :(得分:1)
尝试int maxRowID = Convert.Int32(cmd.ExecuteScalar());