如题,我想动态的修改数据库的值,根据我接收到的数据,定义为变量 int a.
我使用的是,本意是想把row的值修改为a的值,a的值又是读取数据的值,这样我想把变量a的值传进去,这样写可以吗?
QSqlQuery query(db);
query.exec("updata table set row=a where id =1);
字符串里面不会识别 a是个变量吧!
...全文
4557打赏收藏
QT下如何动态的修改sqlite数据库的列值
如题,我想动态的修改数据库的值,根据我接收到的数据,定义为变量 int a. 我使用的是,本意是想把row的值修改为a的值,a的值又是读取数据的值,这样我想把变量a的值传进去,这样写可以吗? QSqlQuery query(db); query.exec("updata table set row=a where id =1); 字符串里面不会识别 a是个变量吧!
还是自己说个实际操作方法吧,在网上搜了一圈。感谢楼上的回答,但具体步骤我还是不知道。
int a=475;
query.prepare("UPDATE da8101 SET maxuab=:a where id=1");
query.bindValue(":a",a);
query.exec();//这句是真正执行SQL语句的
这里的“:a”叫做占位符,这是ODBC数据库的表示方法,还有一种Oracle的表示方法就是全部用“?”号。如下
int a=475;
query.prepare("UPDATE da8101 SET maxuab=? where id=1");
query.bindValue(0,a);
query.exec();//这句是真正执行SQL语句的
这样就可以把a的值传进sql语句里面,修改数据库了。
如果是多个变量可以这样
int a=475;
int b=1;
query.prepare("UPDATE da8101 SET maxuab=? where id=?");
query.bindValue(0,a);
query.bindValue(1,b);
query.exec();//这句是真正执行SQL语句的