我在Xcode中遇到了一个问题:我尝试了很多个星期来将数据添加到sqlite数据库中,并且我在Google上搜索了很多结果,但没有一个可以提供完整且清晰的教程,其中大多数正在使用.db但不是sqlite,我怀疑sqlite是无法插入或更新,只能读取数据,或者是否有任何其他方式来做到这一点?SQLite是否能够更新或插入
如果您有任何问题,请在答案中附上教程链接。谢谢
我在Xcode中遇到了一个问题:我尝试了很多个星期来将数据添加到sqlite数据库中,并且我在Google上搜索了很多结果,但没有一个可以提供完整且清晰的教程,其中大多数正在使用.db但不是sqlite,我怀疑sqlite是无法插入或更新,只能读取数据,或者是否有任何其他方式来做到这一点?SQLite是否能够更新或插入
如果您有任何问题,请在答案中附上教程链接。谢谢
我怀疑SQLite是无法插入或更新,只可以读取数据
当然你也可以SQLite中插入数据。这是一个与其他应用程序一样的数据库,只是稍微轻松一点,并且与应用程序嵌入在同一个进程中,而不是像通常情况下那样嵌入一个不同的进程(这意味着SQLite无法应答多个客户端,而且您除了应用程序之外,不需要在计算机上安装任何东西)。
这里的INSERT文档:http://www.sqlite.org/lang_insert.html
这里还有很多其他中教程:http://www.techotopia.com/index.php/An_Example_SQLite_based_iPhone_Application
(其实我只是用Google搜索“sqlite的Xcode中插入”,我以前不知道这个教程)
Sunny已经两天了,我正在努力研究如何将数据插入到iOS上的sqlite。你应该做的第一件事是告诉SQLite保存数据的位置。默认情况下,如果你在你的手机上运行你的应用程序,它会把sqlite文件放在一个只读的根目录下。要解决它,你应该这样做:
-(NSString *)GetDocumentDirectory{
fileMgr = [NSFileManager defaultManager];
homeDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
return homeDir;
}
这fileMgr是NSFileManager
和HOMEDIR是NSString
未来,当你想插入YOUT数据,第一ü应该给乌尔SQLite的根到它,这是第一行,并检查如果sqlite3_open
并开始插入您的数据:
-(void)InsertRecords:(NSMutableString *)myData{
NSString *dbPath = [self.GetDocumentDirectory stringByAppendingPathComponent:@"YOUR SQLITE FILE NAME.sqlite"];
const char *dbpath = [dbPath UTF8String];
sqlite3 *contactDB;
sqlite3_stmt *statement;
if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)
{
NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO tableName (tableColumn) VALUES (\"%@\")", myData];
const char *insert_stmt = [insertSQL UTF8String];
sqlite3_prepare_v2(contactDB, insert_stmt, -1, &statement, NULL);
if (sqlite3_step(statement) == SQLITE_DONE)
{
sqlite3_bind_text(statement, 1, [myData UTF8String], -1, SQLITE_TRANSIENT);
}
else {
NSLog(@"error");
}
sqlite3_finalize(statement);
sqlite3_close(contactDB);
}
}
希望它能帮助:)
我发现,真正与插入和更新工作教程相当数量,且大多都在.db的格式,当我把我的编码它与.sqlite工作,它只是不工作..我现在对iPhone编程非常沮丧... Android给我更好的编程经验,我比较它... – Sunny
也许有一个混淆:与SQLite引擎,你可以打开“.db”文件。这只是文件的名称。 –
@Sunny可能你的问题是你试图写入包中的只读数据库。将数据库复制到您的应用程序的文档目录并对其执行插入/更新操作。 –