私は本当に厄介な単純な問題を解決しようとして2日間を費やしました.C ++でデータベースを作成しています:
sqlite3 *database;
rc = sqlite3_open(dbname, &database);
char* statement = "CREATE TABLE ONE(ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, NAME CHAR(50) NOT NULL, LABEL CHAR(50), GRP CHAR(50), FILE BLOB );";
rc = sqlite3_exec(database, statement, callback, 0, &zErrMsg);
sqlite3_close(database);
これは完全に機能し、SQLite Studio を使用してデータベース構造を確認しました。今、私は次のステートメントを実行して何かを挿入しようとしています:
int rc = sqlite3_open(dbname, &database);
char *zErrMsg = 0;
char* statement = "INSERT INTO ONE( ID, NAME, LABEL, GRP, FILE ) VALUES ( NULL, 'fedfs', NULL, NULL, NULL);";
rc = sqlite3_exec(database, statement, callback, 0, &zErrMsg);
sqlite3_close(database);
SQLiteエラー1、「そのようなテーブルはありません:ONE」がスローされ続けます。データベース ファイルは正しく開きます。私はアイデアがありません。
それとは別に、ifstreamを使用してPDFファイルを開き、SQLiteにBLOBとして保存する方法を見つけようとしています。ifstream でファイルを開くのは、バイナリ ファイルとして保存する正しい方法ですか?