Проблема SQLITE в rowid - PullRequest
       24

Проблема SQLITE в rowid

1 голос
/ 01 апреля 2010

Я использую библиотеку 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 ]

2 голосов
/ 01 апреля 2010

Это должно работать для вас.

SELECT IFNULL(MAX(RowId), 1) AS Id FROM MYTABLE
1 голос
/ 01 апреля 2010

попробуй int maxRowID = Convert.Int32(cmd.ExecuteScalar());

...