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这种形式。这应该怎么写?
求详细解答 展开
我知道上面这个可以在数据库中找到stop等于lineEditGetOffStation中输入的值。但我想使用where stop=@b and stop=@a这种形式。这应该怎么写?
求详细解答 展开
1个回答
展开全部
一种思路两种实现方式:
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',这样的条件一般不能成立啊(如果只是示范例子、纯假条件倒还可以)。
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
追答
这样确实是非常合理的,我当时没想到多表联查。
其实我也没试,只是凭感觉可以这样,如果不行还请继续追问。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询