Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone,FMDatabase:executeQuery不工作_Iphone_Xcode_Fmdb - Fatal编程技术网

iPhone,FMDatabase:executeQuery不工作

iPhone,FMDatabase:executeQuery不工作,iphone,xcode,fmdb,Iphone,Xcode,Fmdb,下面是我正在使用的代码: FMDatabaseQueue *queue = [[DataBaseHelper sharedManager] queue]; [queue inDatabase:^(FMDatabase *db) { FMResultSet *results = [db executeQuery:@"select * from EVENT where ESTATUS='unread' and HIT_ATTEMPTS < 5 "]; if([results next])

下面是我正在使用的代码:

FMDatabaseQueue *queue = [[DataBaseHelper sharedManager] queue];
[queue inDatabase:^(FMDatabase *db) {

FMResultSet *results = [db executeQuery:@"select * from EVENT where ESTATUS='unread' and HIT_ATTEMPTS < 5 "];

if([results next])
{
   [results close];

   @try {
           BOOL success=FALSE;
           NSString *query=[NSString stringWithFormat:@"insert into EVENT (EDATA, ESTATUS ,EUSER) values('%@','%@','%@')",@"google.com",@"unread",@"xyz"];

           success = [db executeUpdate:query];
           NSLog(@"create edata row, %d:%@", [db lastErrorCode], [db lastErrorMessage]);
        }

   @catch (NSException *exception) {
        NSLog(@"Exception");
   }
FMDatabaseQueue*queue=[[DataBaseHelper sharedManager]队列];
[队列数据库:^(FMDatabase*db){
FMResultSet*results=[db executeQuery:@“从事件中选择*,其中ESTATUS='unread'和点击次数<5”];
如果([下一步结果])
{
[结果关闭];
@试一试{
布尔成功=假;
NSString*query=[NSString stringWithFormat:@“插入事件(EDATA、ESTATUS、EUSER)值(“%@”、“%@”、“%@”)、@“google.com”、“未读”、“xyz”);
success=[db executeUpdate:query];
NSLog(@“创建数据行,%d:%@”,[db lastErrorCode],[db lastErrorMessage]);
}
@捕获(NSException*异常){
NSLog(“例外”);
}
在上述代码中
success=[db executeUpdate:query];不起作用。我已尝试放置断点。在这行代码之后,所有人都退出。没有任何日志被打印出来。

我不确定您为什么要使用try-and-Catch,不管怎样,按照它肯定会起作用的步骤操作

创建数据库

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsPath = [paths objectAtIndex:0];
NSString *path = [docsPath stringByAppendingPathComponent:@"database.sqlite"];

FMDatabase *database = [FMDatabase databaseWithPath:path];
FMResultSet *results = [database executeQuery:@"select * from user"];
while([results next]) {
    NSString *name = [results stringForColumn:@"name"];
    NSInteger age  = [results intForColumn:@"age"];        
    NSLog(@"User: %@ - %d",name, age);
}
[database close];
打开数据库并创建表(可选)

查询数据库

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsPath = [paths objectAtIndex:0];
NSString *path = [docsPath stringByAppendingPathComponent:@"database.sqlite"];

FMDatabase *database = [FMDatabase databaseWithPath:path];
FMResultSet *results = [database executeQuery:@"select * from user"];
while([results next]) {
    NSString *name = [results stringForColumn:@"name"];
    NSInteger age  = [results intForColumn:@"age"];        
    NSLog(@"User: %@ - %d",name, age);
}
[database close];

不带try-catch也有同样的问题persists@TechFanatic你试过简单的方法吗,我已经提到过??