• 3767阅读
  • 6回复

数据库添加记录的问题 [复制链接]

上一主题 下一主题
离线乙醚
 

只看楼主 正序阅读 楼主  发表于: 2011-10-09
具体情况如下:一个表有 (字段1,字段2,字段3)三个字段,先读取一个文本插入表中的 前两个字段即 insert into table (字段1 ,字段2) values(11,22);再用inert into 命令插入字段3的值 (33) , 但是发现 11, 22 与后插入的33不在同一条记录中,即33在下一条记录,请问怎么解决?
离线lianyu1
只看该作者 6楼 发表于: 2011-11-16
高手啊,这都被你i解决了
口碑最好的减肥产品 http://www.hao123jf.com/
手表手机 http://www.newsbiao.com/
离线乙醚

只看该作者 5楼 发表于: 2011-10-12
回 4楼(jorneyr) 的帖子
谢谢你
离线jorneyr

只看该作者 4楼 发表于: 2011-10-11
query.exec("update MYNODE set XPOS='"+ x +"',YPOS='" + y +"' where ID ='" + QString::number(id) +"'");

有参数的情况下,最好使用占位符加bindValue来执行,尤其是有 QDateTime之类的
例如你的这个例子
query.prepare("UPDATE MyNote SET XPOS=:XPOS, YPOS=:YPOS WHERE ID=:ID");
query.bindValue(":XPOS", x);
query.bindValue(":YPOS", y);
query.bindValue(":ID", id);
query.exec(); // 执行更新语句

这样看上去,SQL语句是不是非常清晰,bindValue你也不用去担心转数类型的转换,Qt会给你处理。
离线乙醚

只看该作者 3楼 发表于: 2011-10-11
回 1楼(jorneyr) 的帖子
query.exec("update MYNODE set XPOS='"+ x +"',YPOS='" + y +"' where ID =1");
这个式子中, x, y 都是 QString 的变量,可以正常插入到ID=1的那条记录中,可如果我定义一个循环按照不同的 ID 来添加数据, 即改为
query.exec("update MYNODE set XPOS='"+ x +"',YPOS='" + y +"' where ID ='" + id +"'"); 这里的id为每次循环都加1的整形 , 这条语句就出现问题了,不能正确添加,帮助里面说 exec 里用的参数是
QString,这种情况下又怎么做呢》
离线乙醚

只看该作者 2楼 发表于: 2011-10-11
回 1楼(jorneyr) 的帖子
哦,是这样啊!
离线jorneyr

只看该作者 1楼 发表于: 2011-10-10
使用update语句,insert是插入一条新的记录
快速回复
限100 字节
 
上一个 下一个