首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

关于Qt条件结合查询

2013-07-01 
关于Qt条件组合查询我现在设置几个QLineEdit,在这里面输入查询条件,而且并不是所有的QLineEdit都需要输入。

关于Qt条件组合查询
我现在设置几个QLineEdit,在这里面输入查询条件,而且并不是所有的QLineEdit都需要输入。然后设置一个按钮,点击按钮后就会将查询结果显示在一个QTableView里。
我的想法是用一个变量假设为QString f="1=1",然后setFilter(f)。
然后用几个变量假设为a、b、c保存QLineEdit里输入的查询条件。
如果一个QLineEdit不为空,f就会包含这个条件。
最后setFilter(f)里的f是由几个条件拼接成的一条语句,到这里我就不知道怎么实现了,我想拼接完的f应该是setFilter(QString("1=1 and x=%1 and y=%2 and z=%3").arg(a).arg(b).arg(c))。然后select()。

大家不要受我这个不成熟的想法限制,什么方法都行啊。
请教大神们如何实现条件组合查询的功能啊关于Qt条件结合查询 Qt 查询
[解决办法]

引用:
Quote: 引用:

Quote: 引用:

QString sql = "SELECT * FROM table WHERE 1 = 1"
if (某一QLineEdit用户输入了)
{
    sql += QLineEdit的内容
}

if (另一QLineEdit用户输入了)
{
    sql += QLineEdit的内容
}

丢了AND

if (某一QLineEdit用户输入了)
{
    sql += " AND " + 某一字段 = QLineEdit的内容
}

请问“某一字段 = QLineEdit的内容” 在代码里面用""括起来么?
看你字段的类型了,如果是整形直接加,如果是字符型需要手动在两边加 ""。
这种做法就是拼接字符串,最终输出的跟你自己写的sql相同就行了

SELECT * FROM table WHERE numField = 1 AND strField = "xxx"

达到如上的效果,字符串型字段两边丢了 "" 是常见错误

热点排行