次のコードを使用して、Sqlite3データベースから行を読み取ります。iPhoneアプリケーションSqlite3データベースからデータを読み取る
if(sqlite3_open([[AppHelper getDatabasePath] UTF8String], &database) == SQLITE_OK)
{
const char *sqlStatement = "select * from customers";
sqlite3_stmt *compiledStatement;
if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK)
{
while(sqlite3_step(compiledStatement) == SQLITE_ROW)
{
NSString *firstName = [NSString stringWithUTF8String:(char *) sqlite3_column_text(compiledStatement, 1)];
NSLog(@"%@",firstName);
}
}
sqlite3_finalize(compiledStatement);
}
sqlite3_close(database);
コードがif(sqlite3_prepare_v2 ....
にはなりません。調子。
誰でも私が間違っていることを教えてもらえますか?私は.sqlファイルを私のドキュメントディレクトリに置いて、1つのレコードを含んでいます。
UPDATE 1:
私はシミュレータでアプリを実行していると私は、サポートファイルのフォルダ内の私のmyDatabase.sqlファイルを置きました。
UPDATE 2:
エラーは、「そのようなテーブルの顧客」ではありませんが、私は、データベース内の顧客テーブルを持っていることがわかります。私はFireFox Sqlite Managerを使ってcustomersテーブルを見ました。
私はsqlite3_prepare_v2のリターンコードをチェックしたいと思います。それは何が間違っているかのヒントを与えるはずです。 – Tom
ありがとう@Tom。私はリターンコードを印刷し、それは1です.1は何を意味しますか? – azamsharp
1は、SQLエラーまたはデータベースの欠落を意味します。 – azamsharp