如何解决在sqlite数据库表中添加新条目
| 嗨,我已经编写了此代码以在数据库表中添加新条目。但是在运行时会显示未找到表的消息。 如果您在此代码中发现任何错误,请帮助我。char *sqlStatement;
sqlite3 *pDb;
char *errorMsg;
ןnt returnCode;
char *databaseName;
databaseName = \"Child.db\";
returnCode = sqlite3_open(databaseName,&pDb);
if(returnCode!=SQLITE_OK) {
fprintf(stderr,\"Error in opening the database. Error: %s\",sqlite3_errmsg(pDb));
sqlite3_close(pDb);
return;
}
else{
NSLog(@\"Open Sucessful\");
}
//sqlStatement = sqlite3_mprintf(\"INSERT INTO childname VALUES\"
// \" (\'%s\')\",[strTxtFldValue cString],\"childname\");
sqlStatement = sqlite3_mprintf(\"INSERT INTO childname VALUES (\'%s\')\",strTxtFldValue);
NSLog(@\"sqlStatement....%c\",sqlStatement);
returnCode = sqlite3_exec(pDb,sqlStatement,&errorMsg);
NSLog(@\"return code %d\",returnCode);
if(returnCode!=SQLITE_OK) {
fprintf(stderr,\"Error in inserting into the stocks table. Error: %s\",errorMsg);
sqlite3_free(errorMsg);
}
else{
NSLog(@\"inserted\");
}
sqlite3_free(sqlStatement);
解决方法
尝试创建运行时数据库。
sqlite3_exec(database,\"CREATE TABLE IF NOT EXISTS PersonalDetailsTbl (ID INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,email TEXT,phoneNo TEXT,DOB TEXT,spouseName TEXT,aniversaryDate TEXT)\",NULL,NULL);
sqlite3_exec(database,[[NSString stringWithFormat:
@\"INSERT INTO PersonalDetailsTbl VALUES(NULL,\'%@\',\'%@\')\",name,email,phoneNo,DOB,spouseName,aniversaryDate]
UTF8String],NULL);
, @ user804417您如何创建数据库表?如果您是手动创建它,然后将数据库文件添加到resouce文件夹中,则可以在模拟器中工作,但是当您在设备上运行应用程序时可能会给您带来问题,因此这是出现错误的一种可能性,例如找不到表。
为了解决在您启动应用程序时尝试从应用程序创建数据库的问题,这肯定会解决您的问题。
, 如果从sqlite软件执行相同的插入查询,则将获得相同的结果。因此,在应用程序中提供表名可能会出错。或者您输入的数据库名称错误...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。