gpt4 book ai didi

ios - 在 Uitableview 中显示 Sqlite 数据

转载 作者:行者123 更新时间:2023-12-02 09:33:17 25 4
gpt4 key购买 nike

抱歉,我自己尝试了一下,但找不到解决方案我的 viewdidload 方法中有以下代码

NSString *docsDir;
NSArray *dirPaths;

dirPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
docsDir=[dirPaths objectAtIndex:0];
databasePath=[[NSString alloc] initWithString: [docsDir stringByAppendingPathComponent: @"database.db"]];

NSLog(@"%@",databasePath);
NSFileManager *filemgr=[NSFileManager defaultManager];

if([filemgr fileExistsAtPath:databasePath]==YES)
{


[self getFinal];
}
else {
NSLog(@"please order");
}
[super viewDidLoad];

它调用一个名为 getFinal 的方法如下

 sqlite3_stmt  *statement;

const char *dbpath = [databasePath UTF8String];

if (sqlite3_open(dbpath,&database)==SQLITE_OK)
{
NSString *querySQL = [NSString stringWithFormat: @"SELECT * FROM FINALORDER"];

const char *query_stmt = [querySQL UTF8String];
sqlite3_prepare_v2(database,query_stmt,-1,&statement,NULL);

if (sqlite3_step(statement) == SQLITE_ROW)
{
NSString *itemname = [[[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 1)]autorelease];
//itemn.text = itemname;

NSString *qua = [[[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 2)]autorelease];
//quantity.text = qua;

NSString *total = [[[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 3)]autorelease];
//totalcost.text=total;
}


}
sqlite3_finalize(statement);
sqlite3_close(database);

我想以表格 View 格式显示项目名称、数量和总计。我已尝试使用协议(protocol)并实现委托(delegate)以及数据源方法,但数据源方法 cellforindexpath 无法识别这些变量,我该怎么做?谢谢这是表格 View 的代码

 - (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section
{
//I DONT KNOW WHAT TO RETURN HERE..
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}

// Set up the cell...
cell.textLabel.text = itemname //i need to get the itemname here
cell.detailTextLabel.text = qua,total //i need the quantity and the totalcost values

return cell;

}

最佳答案

您应该使用 Core Data 或至少 FMDB作为您和数据库之间的一层,以实现清晰和简单。

现在对于 TableView 问题,如果您也能发布一些代码,那就太好了。

关于ios - 在 Uitableview 中显示 Sqlite 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12158465/

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