qt setFilter()问题

model->setFilter(tr("stop='")+ui->lineEditGetOffStation->text()+tr("'"));我知道上面这个可以在数据... model->setFilter(tr("stop='")+ui->lineEditGetOffStation->text()+tr("'"));
我知道上面这个可以在数据库中找到stop等于lineEditGetOffStation中输入的值。但我想使用where stop=@b and stop=@a这种形式。这应该怎么写?

求详细解答
展开
 我来答
noodlest
2012-05-26 · TA获得超过785个赞
知道小有建树答主
回答量:724
采纳率:100%
帮助的人:724万
展开全部
一种思路两种实现方式:
1、model->setFilter(tr("stop='") + ui->lineEditGetOffStationA->text() + tr("'")
+ tr(" and stop='") + ui->lineEditGetOffStationB-text() + tr("'"));
2、model->setFilter(QObject::tr("stop ='%1' and stop='%2'").arg(nameA).arg(nameB));
不过大哥:stop=‘1’ and stop='2',这样的条件一般不能成立啊(如果只是示范例子、纯假条件倒还可以)。
更多追问追答
追问
我想实现的sql语句是这样:
select
sr1.Stop as 启始站点,
sr2.Stop as 目的站点,
sr1.Route as 乘坐线路,
sr2.Position-sr1.Position as 经过的站点数
from
stop_route sr1,
stop_route sr2
where
sr1.Route=sr2.Route
and sr1.Position<sr2.Position
and sr1.Stop=@StartStop
and sr2.Stop=@EndStop
追答
这样确实是非常合理的,我当时没想到多表联查。
其实我也没试,只是凭感觉可以这样,如果不行还请继续追问。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式