将SQLite与iOS一起使用.非常初学者的程序



我正在尝试编写一个应用程序,其中有两个文本字段将用于输入。 从文本字段获取的输入正在初始化为字符串。 所以我想要完成的是:

  • 创建一个将保存在 Xcode 项目中的 SQLite 数据库(文件((我不确定它可以保存到哪里,但我需要能够读取和写入它(。
  • 然后,我想将字符串(来自文本字段输入(放入 SQLite 表中,该表将只有两个字段(为简单起见(。 我使用一个按钮接受来自文本字段的输入,将输入放入字符串中,然后将字符串的值放入标签中。
  • 我最终希望将文本字段中的字符串放入表中,然后读取表以"抓取"字符串并将它们显示在标签中。 所有这些都将通过单击按钮来完成。

我意识到这是非常具体的,但是我一直很难找到任何简单的东西来完成此操作。 我对iOS开发非常陌生,如果有人能尽可能具体和详细,或者至少指出一些可以教我如何完成这项工作的资源,我将不胜感激。

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

被挖掘出来了,我很感激我能得到的所有帮助。

谢谢!-马 特

  • 创建数据库文件:只需将 data.sqlite 文件拖放到 Xcode 项目中,就像删除任何其他类或图像资源一样。请注意,您必须在应用程序安装后将文件复制到可写目录。看看 createeditablecopyofdatabaseifneed。
  • 打开数据库时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 创建表,并演示如何在应用的不同版本上更改架构。

最新更新