我正在尝试编写一个应用程序,其中我将使用两个文本字段进行输入.从文本字段获取的输入正在初始化为字符串.所以我想要完成的是:
>创建一个将保存在Xcode项目中的sqlite数据库(文件)(我不知道它可以保存到哪里,但我需要能够读取并写入它).
>然后我想将字符串(从文本字段输入)放入sqlite表中,该表只有两个字段(为简单起见).我正在使用一个按钮接受来自文本字段的输入,将输入放入字符串,然后将字符串的值放入标签中.
>我最终希望将文本字段中的字符串放入表中,然后读取表格以“抓取”字符串并将其显示在标签中.所有这些都可以通过点击按钮来完成.
我意识到这是非常具体的,但我一直很难找到任何简单的方法来实现这一目标.我对iOS开发非常陌生,如果有人能够尽可能具体和详细,我会感激,或者至少指出一些可以教会我如何实现这一目标的资源.
我正在使用Xcode v4.3.2,我不使用Storyboard或ARC.我试图尽可能详细,但尽可能地,我的目标非常简单.
我被挖掘出来,我很感激能得到的所有帮助.
谢谢!
-Matt
解决方法
>创建数据库文件:只需删除xcode项目中的data.sqlite文件,就像删除任何其他类或图像资源一样.请注意,在安装应用程序后,您必须将文件复制到可写目录.看看
createeditablecopyofdatabaseifneeded.
>使用 sqlite3_open打开与新数据库位置相关的数据库.
>使用sqlite3_prepare_v2查询数据库
>使用 sqlite3_open打开与新数据库位置相关的数据库.
>使用sqlite3_prepare_v2查询数据库
一个简单的查询片段如下所示:
NSString *querystring; // create your statement querystring= [NSString stringWithFormat:@"SELECT text1,text2 FROM datatable;"]; const char *sql = [querystring UTF8String]; NSString *text1 = nil; NSString *text2 = nil; if (sqlite3_prepare_v2(db,sql,-1,&statement,NULL)!=sqlITE_OK){ NSLog(@"sql problem occured with: %s",sql); NSLog(@"%s",sqlite3_errmsg(db)); } else { // you could handle multiple rows here while (sqlite3_step(statement) == sqlITE_ROW) { text1 = [NSString stringWithUTF8String:(char*)sqlite3_column_text(statement,0)]; text2 = [NSString stringWithUTF8String:(char*)sqlite3_column_text(statement,1)]; } // while } sqlite3_finalize(statement); // go on with putting data where you want