即时通讯获取此消息*文件已加密或不是数据库

时间:2016-11-16 07:51:25

标签: ios xcode sqlite

请帮我看看这里有什么问题?即时消息*文件已加密或不是数据库。我已经在名为sampledb.sql的终端中创建了一个数据库。我只是一个新手。

// Execute the query.
            int executeQueryResults = sqlite3_step(compiledStatement);
            if (executeQueryResults == SQLITE_DONE) {                    // Keep the affected rows.
                self.affectedRows = sqlite3_changes(sqlite3Database);

                // Keep the last inserted row ID.
                self.lastInsertedRowID = sqlite3_last_insert_rowid(sqlite3Database);
            }
            else {
                // If could not execute the query show the error message on the debugger.
                NSLog(@"DB Error: %s", sqlite3_errmsg(sqlite3Database));
            }
        }
    }
    else {
        // In the database cannot be opened then show the error message on the debugger.
        NSLog(@"%s", sqlite3_errmsg(sqlite3Database));
    }

    // Release the compiled statement from memory.
    sqlite3_finalize(compiledStatement);

}

// Close the database.
sqlite3_close(sqlite3Database);
}


#pragma mark - Public method implementation

-(NSArray *)loadDataFromDB:(NSString *)query{
// Run the query and indicate that is not executable.
// The query string is converted to a char* object.
[self runQuery:[query UTF8String] isQueryExecutable:NO];

// Returned the loaded results.
return (NSArray *)self.arrResults;
}


-(void)executeQuery:(NSString *)query{
// Run the query and indicate that is executable.
[self runQuery:[query UTF8String] isQueryExecutable:YES];
}

=============================================== =========================

- (IBAction)saveInfo:(id)sender {
// Prepare the query string.
// If the recordIDToEdit property has value other than -1, then create     an update query. Otherwise create an insert query.
NSString *query;
if (self.recordIDToEdit == -1) {
    query = [NSString stringWithFormat:@"insert into peopleInfo values(null, '%@', '%@', %d)", self.txtFirstname.text, self.txtLastname.text, [self.txtAge.text intValue]];
}
else{
query = [NSString stringWithFormat:@"update peopleInfo set firstname='%@', lastname='%@', age=%d where peopleInfoID=%d", self.txtFirstname.text, self.txtLastname.text, self.txtAge.text.intValue, self.recordIDToEdit];
}

// Execute the query.
[self.dbManager executeQuery:query];

// If the query was successfully executed then pop the view controller.
if (self.dbManager.affectedRows != 0) {
    NSLog(@"Query was executed successfully. Affected rows = %d", self.dbManager.affectedRows);

    // Inform the delegate that the editing was finished.
    [self.delegate editingInfoWasFinished];

    // Pop the view controller.
    [self.navigationController popViewControllerAnimated:YES];
}
else{
    NSLog(@"Could not execute the query.");
}
}

#pragma mark - Private method implementation

-(void)loadInfoToEdit{
// Create the query.
NSString *query = [NSString stringWithFormat:@"select * from peopleInfo where peopleInfoID=%d", self.recordIDToEdit];

// Load the relevant data.
NSArray *results = [[NSArray alloc] initWithArray:[self.dbManager loadDataFromDB:query]];

// Set the loaded data to the textfields.
self.txtFirstname.text = [[results objectAtIndex:0] objectAtIndex:[self.dbManager.arrColumnNames indexOfObject:@"firstname"]];
self.txtLastname.text = [[results objectAtIndex:0] objectAtIndex:[self.dbManager.arrColumnNames indexOfObject:@"lastname"]];
self.txtAge.text = [[results objectAtIndex:0] objectAtIndex:[self.dbManager.arrColumnNames indexOfObject:@"age"]];

}

0 个答案:

没有答案