Sqlite Manager でデータベースを作成し、リソースにデータベースをエクスポートしました。プロジェクト フォルダにデータベースを直接再作成しようとしましたが、同じエラーが発生しました。理由がわかりません...ターミナルでデータベースを開こうとしましたが、データベースを開くことができません。
sqlite> .tables
Error: file is encrypted or is not a database
私はこのリンクについてすべてのことを行いますが、何もうまくいきません iOS 7でsqliteを使用するには?
int returnValue = (sqlite3_prepare_v2(databaseOK, [selectSql UTF8String], -1, &statement, NULL));
この行により、returnValue に 26 が返されます
-(id) initDatabase{
if (self = [super init]) {
//Nom de la base de données
self.databaseName = @"externalDB.sqlite";
// Obtenir le chemins complet de la base de donées
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
self.databasePath = [documentsDir stringByAppendingPathComponent:self.databaseName];
NSLog(@"%@",self.databasePath);
}
return self;
}
-(NSArray*) selectALLArticle{
sqlite3 *databaseOK=self.database;
NSMutableArray* articles = [NSMutableArray new];
if(sqlite3_open([self.databasePath UTF8String], &databaseOK) == SQLITE_OK) {
NSString* selectSql =[NSString stringWithFormat:@"SELECT * FROM ART_TABLE"];
sqlite3_stmt* statement = NULL;
int returnValue = (sqlite3_prepare_v2(databaseOK, [selectSql UTF8String], -1, &statement, NULL));
NSLog(@"Database returned error %d: %s", sqlite3_errcode(databaseOK), sqlite3_errmsg(databaseOK));
if(returnValue == SQLITE_OK){
while (sqlite3_step(statement) == SQLITE_ROW) {
Data* article = [Data new];
article.ide = (NSMutableString*)[NSString stringWithUTF8String:(const char*) sqlite3_column_text(statement,0)];
article.title = (NSMutableString*)[NSString stringWithUTF8String:(const char*) sqlite3_column_text(statement, 1)];
article.chapo = (NSMutableString*)[NSString stringWithUTF8String:(const char*) sqlite3_column_text(statement, 2)];
article.link = (NSMutableString*)[NSString stringWithUTF8String:(const char*) sqlite3_column_text(statement, 3)];
article.linkImg = (NSMutableString*)[NSString stringWithUTF8String:(const char*) sqlite3_column_text(statement, 4)];
article.pubDate = (NSMutableString*)[NSString stringWithUTF8String:(const char*) sqlite3_column_text(statement, 5)];
article.creator = (NSMutableString*)[NSString stringWithUTF8String:(const char*) sqlite3_column_text(statement, 6)];
article.description = (NSMutableString*)[NSString stringWithUTF8String:(const char*) sqlite3_column_text(statement, 7)];
[articles addObject:article];
}
sqlite3_finalize(statement);
}
}
sqlite3_close(databaseOK);
return articles;
}
私のlogcatには次のものがあります:データベースがエラー26を返しました:ファイルが暗号化されているか、データベースではありません
この行で:NSLog(@"Database returned error %d: %s", sqlite3_errcode(databaseOK), sqlite3_errmsg(databaseOK));
SQLite Manager でデータベースを作成すると、別のテーブルが作成されました。彼の名前は sqlite_sequence です。それは何ですか?
前もってありがとう