1

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

4

2 回答 2

2

这应该适合你。

SELECT IFNULL(MAX(RowId), 1) AS Id FROM MYTABLE
于 2010-04-01T06:05:09.327 回答
1

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

于 2010-04-01T06:25:30.027 回答