• 7100阅读
  • 6回复

QTableView中有空数据字段时无法修改记录数据 [复制链接]

上一主题 下一主题
离线junesin
 
只看楼主 倒序阅读 楼主  发表于: 2009-04-18
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
用QT创建并编辑一个excel表格,但当编辑记录中某字段出现空值时其他字段无法修改数据,修改的数据自动还原为原值。请熟悉的同仁帮帮忙。具体信息如下:
1、创建了表格:
   query_1.exec("create table 钻具报表(序号 text, 编号 text, 名称 text,单根长度 double,累计长度 double,最大外径 double,最小内径 double,备注 text)");
2、建立QSqlTableView和Model
      创建了QSqlTableView
      创建了Model;QSqlTableModel *tableModel = new QSqlTableModel();
      (仅使用了这两个类,没有使用委托类,即默认)
3、当使用SQL-insert语句插入数据时一切正常,即使某字段为空,整条记录也可插入
4、当使用QSqlTableView显示数据时一切正常,但修改某字段,必须保证其他相应字段不空,否则不能修改。
问题:
1、为什么插入时可以空,但在QSqlTableView中有空字段值却无法将记录数据提交到表
2、如何控制QSqlTableView中字段的显示格式,例如本例中的序号类型本应为整数,但如设为整数,QSqlTableView中自动显示了小数点,现在因为不知如何控制,只好设为text以避免出现小数点。
离线junesin
只看该作者 1楼 发表于: 2009-04-18
补充一下,是采用odbc方式访问的excel表
离线seesea
只看该作者 2楼 发表于: 2009-04-18
QT可以直接控制EXCEL啊!
希望能看下你得连接文件,怎么连接的呢?
离线junesin
只看该作者 3楼 发表于: 2009-04-18
能够找到的资料很少,对View/model结构也不熟,希望熟悉View/model的同仁指点一下,
连接串如下:
db.setDatabaseName("Driver={Microsoft Excel Driver (*.xls)};Readonly=0;DriverId=790;Dbq="+FileName);
db.open();
离线5706046

只看该作者 4楼 发表于: 2009-07-10
不成功,不知道为甚么?
离线5706046

只看该作者 5楼 发表于: 2009-07-10
c不错,
离线longwenbiao
只看该作者 6楼 发表于: 2009-12-10
boss,能看下你的代码
快速回复
限100 字节
 
上一个 下一个