rowid中的SQLITE问题

时间:2010-04-01 05:50:59

标签: c# exception sqlite rowid

我正在使用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”没有任何数据时,它会抛出异常。

2 个答案:

答案 0 :(得分:2)

这应该适合你。

SELECT IFNULL(MAX(RowId), 1) AS Id FROM MYTABLE

答案 1 :(得分:1)

尝试int maxRowID = Convert.Int32(cmd.ExecuteScalar());