【问题标题】:How to write Data into Database using SQlite?如何使用 SQlite 将数据写入数据库?
【发布时间】:2011-07-02 13:41:15
【问题描述】:

我曾使用此代码将输入写入数据库,但它没有反映到它...我不知道为什么?请提出您的建议!!提前谢谢..

NSString* user_Name=txt_UserName.text;
NSString* password=txt_Password.text;
NSString* rePassword=txt_RePassword.text;
if ([password isEqualToString:rePassword]) {

sqlite3 *database;
sqlite3_stmt *compiledQuery;
// Open the database from the users filessytem
if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
    // Setup the SQL Statement and compile it for faster access
    const char *sqlStatement = "insert into Main values(?,?)";
    sqlite3_prepare_v2(database, sqlStatement, -1, &compiledQuery, NULL);
    sqlite3_bind_text(compiledQuery, 1, [user_Name UTF8String], -1, SQLITE_TRANSIENT);
    sqlite3_bind_text(compiledQuery, 2, [password UTF8String], -1, SQLITE_TRANSIENT);       
    if(SQLITE_DONE != sqlite3_step(compiledQuery))
    NSAssert1(0, @"Error while inserting data. '%s'", sqlite3_errmsg(database));
    sqlite3_finalize(compiledQuery);
    sqlite3_close(database);
}

【问题讨论】:

标签: iphone sql sqlite


【解决方案1】:

数据库的路径是否正确?您可以通过

检查数据库路径
NSString *documentsDir = [DbCls getPath];
NSString *databasePath = [documentsDir stringByAppendingPathComponent:DBNAME];

+(NSString *) getPath
{
    NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDir = [documentPaths objectAtIndex:0];
    return documentsDir;
}

【讨论】:

  • 我已经检查过了...数据库的路径是正确的!!因为我也在从中读取数据......工作正常......感谢您的关注!
  • 我没有收到任何错误。它运行良好。但是在执行“插入”命令后它没有反映到数据库中。
猜你喜欢
  • 1970-01-01
  • 2018-05-16
  • 1970-01-01
  • 2013-05-05
  • 2011-01-27
  • 2019-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多