1

私のデータベースには、開始時にエントリISNTが必要なオプションがたくさんあるので、null許容です。SQLite3のC++APIを調べていましたが、これを処理する方法について一見したところ(http://www.sqlite.org/c3ref/funclist.html)何も見つかりませんでした。私が遭遇した唯一のことは、列を要求し、列がnullの場合に返されるものでした(ここに表示:http ://www.sqlite.org/c3ref/column_blob.html )。

問題は、0が多くの一般的なことの有効な解決策であるため、エラーが発生しない可能性があるということです(プログラマーとして、私たちは通常0からカウントを開始します)。

私がやりたいのは、ブール式のステートメントがある場合はそれを見つけることです。そうすれば、データを抽出する前にnullかどうかを確認できます。そうすれば、0の代わりに適切なフラグを返すことができます。

他の誰かがここで問題を抱えていますか?

4

1 に答える 1

1

データを取得する前に、いつでも列のタイプを確認できます(変換が行われます)。これは、NULL値sqlite3_column_typeを返すで行います。SQLITE_NULL

bool isNull(sqlite3_stmt *stmt, int iCol)
{
    return sqlite3_column_type(stmt, iCol) == SQLITE_NULL;
}
于 2012-12-06T18:17:37.877 に答える