大家好,这个问题我弄了一下午还没解决,请求各位帮忙,代码如下
//打开数据库
sqlite3 *database;
if (sqlite3_open([[self dataFilePath]UTF8String], &database) != SQLITE_OK) {
sqlite3_close(database);
NSAssert(0,@"Fail to open Data");
}// Update数据进入数据库
char *update = "UPDATE NoteEDField SET THESUBJECT = ? AND THECONTENT = ? WHERE THEROW = ?";
char *errorMsg = NULL;
sqlite3_stmt *stmt;
if (sqlite3_prepare_v2(database, update, -1, &stmt, nil) == SQLITE_OK) {
// 下面的数字1,2是指上面问号的顺序
const char *subjectChar = [self.inputSubjectTextField.text UTF8String];
const char *contentChar = [self.inputContentField.text UTF8String];
sqlite3_bind_text(stmt, 1, subjectChar, -1, NULL);
sqlite3_bind_text(stmt, 2, contentChar, -1, NULL);
sqlite3_bind_int(stmt, 3, self.readRow);
}
if (sqlite3_step(stmt) != SQLITE_DONE) {
NSAssert(0, @"erroe updating tabels %s",errorMsg);
}
sqlite3_finalize(stmt);
sqlite3_close(database);
非常奇怪的是在
const char *subjectChar = [self.inputSubjectTextField.text UTF8String];
之后,subjectChar 变量的值由原来输入的文字 变为 数字0 或者 1
而数据库里面的 THECONTENT 字段 则没有任何更新。麻烦大家了
//打开数据库
sqlite3 *database;
if (sqlite3_open([[self dataFilePath]UTF8String], &database) != SQLITE_OK) {
sqlite3_close(database);
NSAssert(0,@"Fail to open Data");
}// Update数据进入数据库
char *update = "UPDATE NoteEDField SET THESUBJECT = ? AND THECONTENT = ? WHERE THEROW = ?";
char *errorMsg = NULL;
sqlite3_stmt *stmt;
if (sqlite3_prepare_v2(database, update, -1, &stmt, nil) == SQLITE_OK) {
// 下面的数字1,2是指上面问号的顺序
const char *subjectChar = [self.inputSubjectTextField.text UTF8String];
const char *contentChar = [self.inputContentField.text UTF8String];
sqlite3_bind_text(stmt, 1, subjectChar, -1, NULL);
sqlite3_bind_text(stmt, 2, contentChar, -1, NULL);
sqlite3_bind_int(stmt, 3, self.readRow);
}
if (sqlite3_step(stmt) != SQLITE_DONE) {
NSAssert(0, @"erroe updating tabels %s",errorMsg);
}
sqlite3_finalize(stmt);
sqlite3_close(database);
非常奇怪的是在
const char *subjectChar = [self.inputSubjectTextField.text UTF8String];
之后,subjectChar 变量的值由原来输入的文字 变为 数字0 或者 1
而数据库里面的 THECONTENT 字段 则没有任何更新。麻烦大家了
解决方案 »
- 想学习苹果开发,不知从何入手
- 大神速来!送100分,答案要准确!
- 如何实现通过苹果IOS:Lightning Dock数据线传输信息到显示器
- ios 提交出的错误
- 请教:陌陌, 微博, 微信之类的 server端架构是什么样的啊?
- 如何把图片转为二进制传给服务器
- ios项目和个推集成,启动报错
- iOS tableViewcell 嵌套CollectionView 的思路
- xcode7安装SDWebImage的步骤
- 苹果iOS 多人开发时,多人打包出现证书被撤销的情况
- IOS 做股票的折线图柱状图和分时图用哪个三方库好
- Arcgis for iOS如何重写AGSTiledServiceLayer ?
char *update = "UPDATE NoteEDField SET THESUBJECT = ? AND THECONTENT = ? WHERE THEROW = ?";
改成
char *update = "UPDATE NoteEDField SET THESUBJECT = ?, THECONTENT = ? WHERE THEROW = ?";
在更新多个值时,之间用", " 号分开,不是用And , And是用在where的条件语句中。