gpt4 book ai didi

ios - 从 SQLite 检索具有多条记录的数据

转载 作者:行者123 更新时间:2023-12-03 16:51:16 25 4
gpt4 key购买 nike

想知道是否有人可以分享如何从 SQLite 检索具有多个记录的数据,即我有一个包含 5 个字段的表,每个字段都有多个数据。

NSString *str = [[NSString alloc] initWithFormat:@"%@ %@ etc...", oneString,two...];

[entry addObject:str];

我只得到第一条记录

下面的字符串还可以工作

NSString *sql = [NSString stringWithFormat:@"SELECT * FROM abc"];

但是这个没有,我崩溃了!

NSString *sql = [NSString stringWithFormat:@"SELECT * FROM abc WHERE name= \"john\""];

最佳答案

-(NSMutableArray *)readInformationFromDatabase
{
NSMutableArray *array = [[NSMutableArray alloc] init];

// Setup the database object
sqlite3 *database;

// Open the database from the users filessytem
if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK)
{
// Setup the SQL Statement and compile it for faster access

//SQLIte Statement
NSString *sqlStatement_userInfo =[NSString stringWithFormat:@"Select * from TableName"];

sqlite3_stmt *compiledStatement;


if(sqlite3_prepare_v2(database, [sqlStatement_userInfo UTF8String], -1, &compiledStatement, NULL) == SQLITE_OK)
{

// Loop through the results and add them to the feeds array
while(sqlite3_step(compiledStatement) == SQLITE_ROW)
{
// Init the Data Dictionary
NSMutableDictionary *_dataDictionary=[[NSMutableDictionary alloc] init];

NSString *_userName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)];
// NSLog(@"_userName = %@",_userName);

NSString *_emailID = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 2)];
// NSLog(@"_emailID = %@",_emailID);

NSString *_contactNumber = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 1)];
// NSLog(@"_contactNumber = %@",_contactNumber);

NSString *_address = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 3)];
// NSLog(@"_address = %@",_address);

NSString *_zipCode = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 4)];
// NSLog(@"_zipCode = %@",_zipCode);

[_dataDictionary setObject:[NSString stringWithFormat:@"%@",_userName] forKey:@"UserName"];
[_dataDictionary setObject:[NSString stringWithFormat:@"%@",_emailID] forKey:@"EmailId"];
[_dataDictionary setObject:[NSString stringWithFormat:@"%@",_contactNumber] forKey:@"ContactNumber"];
[_dataDictionary setObject:[NSString stringWithFormat:@"%@",_address] forKey:@"Address"];
[_dataDictionary setObject:[NSString stringWithFormat:@"%@",_zipCode] forKey:@"ZIPCode"];

[array addObject:_dataDictionary];
}
}
else
{
NSLog(@"No Data Found");
}

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

sqlite3_close(database);

return array;
}

关于ios - 从 SQLite 检索具有多条记录的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16322739/

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