• 2653阅读
  • 3回复

Qt中sliqte数据库替换问题 [复制链接]

上一主题 下一主题
离线zheguzai
 

只看楼主 倒序阅读 楼主  发表于: 2013-10-16
有一张表,如下,表名就叫Attendance


              "Id      VARCHAR(25), "          
              "Name    VARCHAR(10),"
               "Number  VARCHAR(5),"          
               "Dep     VARCHAR(10),"
               "Date    VARCHAR(10),"          
              "StartTime   VARCHAR(30),"
               "EndTime     VARCHAR(30))"





我现在要从表中查询出一条数据,并切把该条数据中EndTime修改成新的时间;


查询我是这样写的



if (query.exec(QString("SELECT * FROM Attendance WHERE Id = '%1' AND Date = '%2'")                           .arg(dat)
                           .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd")))){
        if (query.next())         {
               //这个地方就查询到了,我可以拿到查询到的数据,都放在query.value中,但是问题是怎么掉EndTime那一列的数据,并写回数据库

                qDebug()<<"Id:"<<query.value(0).toString()<<query.value(1).toString()<<query.value(2).toString()                             <<query.value(3).toString()<<query.value(4).toString()<<query.value(5).toString()
                             <<query.value(6).toString();        }
}


现在我已经拿到查询后的数据了,要怎么弄替换呢,有人弄过没有?说下




离线alexltr

只看该作者 1楼 发表于: 2013-10-16
应该用update吧。 查一下SQL语句的相关语法。这应该是很基础很简单的用法。
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线jdwx

只看该作者 2楼 发表于: 2013-10-17
回 楼主(zheguzai) 的帖子
数据库的基本操作,就是增、改、删。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线zheguzai

只看该作者 3楼 发表于: 2013-11-20
这个问题也解决了,贴上来吧,使用sql的update语句就可以搞定,

下面这个是更新用户名密码的,原理一样
  1. if (query.exec(QString("UPDATE ClientUser SET User = '%1',Pass = '%2' WHERE User = '%3'")
  2.                        .arg(ui->lEdtNewName->text())
  3.                        .arg(ui->lEdtNewPass->text())
  4.                        .arg(ui->lEdtOldName->text())))


快速回复
限100 字节
 
上一个 下一个