• 4082阅读
  • 9回复

[提问]关于sqlite数据库的删除插入等操作 [复制链接]

上一主题 下一主题
离线mrcalifor
 
只看楼主 倒序阅读 楼主  发表于: 2012-04-05
是这样的,比如我要删除一个记录  
query.exec("DELETE FROM employer WHERE id=1007")
这样倒是没有
但是如果这个删除的条件我不知道,是一个从程序获得的变量
比如我要删除id等于变量a的记录我应该怎么写
直接写query.exec("DELETE FROM employer WHERE id=a");肯定是有问题
插入的疑惑同上!
我是菜鸟啊菜鸟,求解释啊!
离线ffii4455

只看该作者 1楼 发表于: 2012-04-05
query.exec(QString("DELETE FROM employer WHERE id=%1").arg(a))
离线mrcalifor
只看该作者 2楼 发表于: 2012-04-05
回 1楼(ffii4455) 的帖子
能稍微解释一下么?多谢了!
离线mrcalifor
只看该作者 3楼 发表于: 2012-04-05
回 1楼(ffii4455) 的帖子
如果是插入呢 条件是id==a   name==b,a b都是QString
离线ffii4455

只看该作者 4楼 发表于: 2012-04-05
回 2楼(mrcalifor) 的帖子
就是一个类似字符串拼接的操作啊~~~
QString提供arg方法来拼接字符串。
QString("%1").arg(a)

它就会把%1 用变量a来代替。
离线ffii4455

只看该作者 5楼 发表于: 2012-04-05
回 3楼(mrcalifor) 的帖子
QString("id==%1  name==%2).arg(a).arg(b)

或者用值绑定的方法。具体参看手册
离线mrcalifor
只看该作者 6楼 发表于: 2012-04-06
回 5楼(ffii4455) 的帖子
确实可以啊,多谢了!
ps:我是QT新手,不知道该如何上手,有没有什么好的学习资料或者方法可以推荐一下呢?万分感谢!
离线coldair

只看该作者 7楼 发表于: 2012-04-06
学习 了
离线mrcalifor
只看该作者 8楼 发表于: 2012-04-07
回 5楼(ffii4455) 的帖子
我想选出记录中room等于a的记录的id,使用下列语句为何不能构成功呢??
a=ui->selectRoomForCtrl->currentText();
query.exec(QString("SELECT id FROM linkedApplication WHERE room=%1").arg(a));
望指点!求点播啊!
离线XChinux

只看该作者 9楼 发表于: 2012-04-07
q.prepare("INSERT INTO table1(f1, f2) VALUES(?, ?)");
q.addBindValue(strV1);
q.addBindValue(intV2);
q.exec();


可以用这种形式的。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个