gpt4 book ai didi

ios - 检查表是否存在,如果不存在,则创建它... iOS/SQLite

转载 作者:行者123 更新时间:2023-11-28 18:41:22 25 4
gpt4 key购买 nike

我目前有一个可以从中提取数据的表。我想做的是检查表是否已存在于包中,如果不存在,我想创建表并将其保存到包中(这意味着路径将在主包中)。我希望在 setInput 方法的顶部检查和创建数据库。我一直在寻找与此类似的东西,但我还没有想出任何东西。非常感谢任何帮助。这是我的代码:

-(IBAction)setInput:(id)sender
{
NSString *strStoreNumber;
NSString *strRegNumber;

strStoreNumber = StoreNumber.text;
strRegNumber = RegNumber.text;
lblStoreNumber.text = strStoreNumber;
lblRegNumber.text = strRegNumber;

NSString* databasePath = [[NSBundle mainBundle] pathForResource:@"tblStore" ofType:@"sqlite"];

if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK)
{
NSLog(@"Opened sqlite database at %@", databasePath);
sqlite3_exec(database, "CREATE TABLE IF NOT EXISTS tblStore (ID INTEGER PRIMARY KEY AUTOINCREMENT, Message TEXT)", NULL, NULL, NULL);
//...stuff
}
else
{
NSLog(@"Failed to open database at %@ with error %s", databasePath, sqlite3_errmsg(database));
sqlite3_close (database);
}
//
NSString *querystring;

// create your statement
querystring = [NSString stringWithFormat:@"SELECT strStore, strReg FROM tblStore WHERE strStore = %@ AND strReg = %@;", strStoreNumber, strRegNumber];

const char *sql = [querystring UTF8String];

NSString *szStore = nil;
NSString *szReg = nil;

sqlite3_stmt *statement = nil;
if (sqlite3_prepare_v2(database, sql, -1, &statement, NULL)!=SQLITE_OK) //queryString = Statement
{
NSLog(@"sql problem occured with: %s", sql);
NSLog(@"%s", sqlite3_errmsg(database));
}
else
{
// you could handle multiple rows here
while (sqlite3_step(statement) == SQLITE_ROW)
{
szStore = [NSString stringWithUTF8String:(char*)sqlite3_column_text(statement, 0)];
szReg = [NSString stringWithUTF8String:(char*)sqlite3_column_text(statement, 1)];
}

}

sqlite3_finalize(statement);

lblStoreNumber.text = szStore;
lblRegNumber.text = szReg;

//
}

我对 iOS 和 SQLite 还是很陌生,所以如果我没有提供足够准确的描述来描述我正在尝试做的事情,请告诉我,我会尽量做到更具体。谢谢!

最佳答案

快速搜索“iphone sql create table if not exists”给出了 this作为最佳结果。

这部分 SQL 可能就是您要查找的内容:

CREATE TABLE IF NOT EXISTS tableName( ... )

如果表不存在,它会创建一个表。

关于ios - 检查表是否存在,如果不存在,则创建它... iOS/SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10484556/

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