gpt4 book ai didi

iOS SQLite 插入和选择不起作用?

转载 作者:行者123 更新时间:2023-11-29 13:34:10 25 4
gpt4 key购买 nike

我正在尝试读取/写入 SQLite 数据库,但我不断收到错误。我已经验证数据库存在于 ...iPhone Simulator/Applications/5.1/app#/Documents/kipSQLDB.db

我已经从终端对其执行了 INSERT 和 SELECT。

但是从应用程序中它只是出错了。 (附加问题 - sqlite 有没有办法在 mysql 中获取像 mysql_error 这样的信息性错误消息?当我在应用程序中出错时,我除了一些符号外什么也得不到。

这是我的代码:

.h

#import <Foundation/Foundation.h>
#import <sqlite3.h>

@interface SQLiteController : NSObject {

//file management
NSFileManager *fileManager;
NSString *documentsDirectory;

//sqlite data
sqlite3* databaseHandle;

}

- (void) initSQLiteDB;

- (void) insertData : (NSString* ) fName : (NSString* ) lName : (NSString* ) companyName;

- (NSArray* ) getData;

@end

.m

- (void) insertData : (NSString* ) fName : (NSString* ) lName : (NSString* ) companyName { 

NSString* insertStatement = [NSString stringWithFormat:@"INSERT INTO nameList (userFName, userLName, userCompany) VALUES (\"%@\", \"%@\", \"%@\")", fName, lName, companyName];
NSLog(@"%@", insertStatement);

char *error;
if ( sqlite3_exec(databaseHandle, [insertStatement UTF8String], NULL, NULL, &error) == SQLITE_OK) {

int recordID = sqlite3_last_insert_rowid(databaseHandle);
NSLog(@"A record was inserted into the database %@ with the id of %i", databaseHandle, recordID);
} else {
NSLog(@"Error: %s", error);
}
}

- (NSArray* ) getData {

NSMutableArray* dataArray = [[NSMutableArray alloc] init];

NSString* getStatement = @"SELECT * FROM nameList";

sqlite3_stmt *statement;
if (sqlite3_prepare_v2(databaseHandle, [getStatement UTF8String], -1, &statement, NULL) == SQLITE_OK){

// Iterate over all returned rows
while (sqlite3_step(statement) == SQLITE_ROW) {

int recordID = sqlite3_column_int(statement, 0);
NSString* fNameFromDB = [NSString stringWithUTF8String:(char*)sqlite3_column_text(statement, 1)];
NSLog(@"%@", fNameFromDB);
}
} else {
NSLog(@"No soup for you!");
}

return 0;

}
@end

最佳答案

使用Try catch格式,捕获sql的错误类型

关于iOS SQLite 插入和选择不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11082479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com