gpt4 book ai didi

objective-c - 写入SQLite数据库。奇怪的东西

转载 作者:行者123 更新时间:2023-12-03 17:54:58 25 4
gpt4 key购买 nike

我正在使用SQLite数据库。问题在于数据未写入基础。 NSLog向​​我显示“一切正常”,并且insertSQL也是正确的,但是数据库中的记录仍然没有发生。我的代码:

-(void)saveMessage:(id)sender 
{
sqlite3 *database;

databaseName = @"BlogDatabase.sqlite";
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
databasePath = [documentsDir stringByAppendingPathComponent:databaseName];

if (sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK)
{

NSString *insertSQL = [NSString stringWithFormat:@"insert into \"main\".\"MessagesData\" ( \"MessageText\", \"MessageDate\") values ( '%@', '%@');", _textField.text, [[NSDate alloc] init]];
NSLog(@"%@", insertSQL);
const char *insert_stmt = [insertSQL UTF8String];
sqlite3_stmt *compiledStatement;


if(sqlite3_prepare_v2(database, insert_stmt, -1, &compiledStatement, NULL) != SQLITE_OK)
{
NSAssert1(0, @"Error while creating add statement. '%s'", sqlite3_errmsg(database));
}else{
if (sqlite3_step(compiledStatement) == SQLITE_DONE)
{
NSLog(@"All ok");
} else {
NSLog(@"FAIL");
}
}
sqlite3_finalize(compiledStatement);
}
sqlite3_close(database);
}

最佳答案

您要在哪个数据库中寻找?应用数据库?

您可以检查记录数吗,只计算记录数。


从your_table_name中选择count(*)


我怀疑您是否在_textField.text和日期中是否有任何值,而您只是在初始化而不设置它。并假设一切都很好,然后

您应该使用BlogDatabase.MessagesData而不是main.MessagesData。

首先尝试运行您的NSLog在普通终端中运行的insertQuery。
sqlite3 [app_db_path] /BlogDatabase.sqlite

关于objective-c - 写入SQLite数据库。奇怪的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9966203/

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