0

タイトルを説明しよう。テーブルが既に存在するかどうかを確認する次のコードがあります。

NSString *checkSql = @"SELECT * FROM sqlite_master WHERE type='table' AND name='files'";
NSArray *checkArray = [sqlite executeQuery:checkSql];
if ([checkArray count] != 0)
{
   //rest of code here...
   NSLog(@"Files table exists");
}
else
{
   NSLog(@"Files table not found");
}

これで、常に表示されますFiles table exists。ただし、これらのコードを追加すると:

NSArray *selArr = [sqlite executeQuery:[NSString stringWithFormat:@"SELECT FileID, FileName, FilePath FROM files WHERE UserID=%@", userId]];

これにより、次のエラーが表示されます: SQLite Prepare Failed: no such table: files 2012-09-17 14:56:35.723 iskoolme[3275:15203] - Query: SELECT FileID, FileName, FilePath FROM files WHERE UserID=5

なぜそれが起こるのかよくわかりません。データベースからのデータが実際に表示されるため、実際には問題にはなりません。「エラー」の理由が何であるかに興味があります。

4

0 に答える 0