使用SQLite与iOS …非常初学者程序

我试图编写一个应用程序,其中我有两个文本字段,我将用于input。 来自文本字段的input正在被初始化为一个string。 所以我想要完成的是:

  • 创build一个SQLite数据库(文件),将被保存在Xcode项目(我不知道它可以保存到哪里,但我需要能够读取和写入)。
  • 然后,我想将string(从文本字段input)放入SQLite表,它将只有两个字段(为简单起见)。 我正在使用一个button来接受来自文本字段的input,将input放入string中,然后将string的值放入一个标签中。
  • 我最终希望将文本字段中的string放入表格中,然后读取表格以“抓取”string并将其显示到标签中。 所有这些都可以通过点击一个button来完成。

我意识到这是非常具体的,但我一直很难find简单的事情来完成这个任务。 我对iOS开发非常陌生,如果有人能够尽可能详细和详细地介绍我,或者至less可以指点一些能够教会我如何实现这一点的资源,我会很感激。

我使用的是Xcode v4.3.2,我不使用Storyboard或ARC。 我试图尽可能详细,但是,尽你所能,我的目标非常简单。

我被挖掘出来,我感谢所有的帮助,我可以得到。

谢谢! -Matt

  • 创build数据库文件:只要将您的data.sqlite文件放在xcode项目中,就像删除任何其他类或图像资源一样。 请注意,在安装应用程序之后,您将不得不将文件复制到可写目录。 看一下createeditablecopyofdatabaseifneeded 。
  • 用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 

有一个使用SQLite的示例项目,您可以参考: https : //github.com/AaronBratcher/ABSQLite

它具有以更传统的数据库方式访问SQLite的类。 示例项目使用SQL创build表,并显示如何在不同版本的应用程序上更改架构。