• 7554阅读
  • 4回复

求助,QTableWidget修改数据库 [复制链接]

上一主题 下一主题
离线vcder
 
只看楼主 倒序阅读 楼主  发表于: 2011-04-25
自己定义了个QTableWidget,现在想修改某个单元格并返回到数据里我这样做的
connect(tableWidget,SIGNAL(cellChanged(int,int)),this,SLOT(modifyDb(int,int)));
槽函数的定义如下:
void F_Manege_Widget::modifyDb(int row,int column)
{
QSqlQuery query(db);

   if(column=0)
   {
    query.prepare("update users set name=:name");
    query.bindValue(":name",tableWidget->item(row,0)->text().trimmed());

        
   }
   else
   {
            query.prepare("update users  set password=:password");
    query.bindValue(":password",tableWidget->item(row,1)->text().trimmed());

      
   }
query.exec();
  
   QMessageBox::information(this,tr("提示:"),tr("修改成功"),QMessageBox::Yes);}
为什么数据库里不修改呢?请教各位大侠指点下。


[ 此帖被vcder在2011-04-27 17:01重新编辑 ]
离线XChinux

只看该作者 1楼 发表于: 2011-04-25
先prepare,再bindValue()吧,执行后看下exec()的返回值,并且看一下lastError(),看是否有错误。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线vcder
只看该作者 2楼 发表于: 2011-04-26
恩,我试试  谢谢
离线vcder
只看该作者 3楼 发表于: 2011-04-27
已经修改好了  ,上面的代码是可以的,sql语句update 需要加条件 ,不然就把那一列都改了。
离线g_tree
只看该作者 4楼 发表于: 2011-07-06
我想知道~~如果把信号连起来~那在首次把数据库载入到TableWidget里面的时候。数据库都会变动?
快速回复
限100 字节
 
上一个 下一个