sql语句如果带变量,如何实现?(急等!)
我有一个文本框txtQi,一个单选钮optDesc(判断升降序),一个下拉组合框cboZiDuan,目的是根据这三个控件的不同组合,查询出不用的记录集。这是这样写的:
strQi = txtQi.Text
strZiDuan = cboZiDuan.Text
If optDesc Then
strJiangXu = " "
Else
strJiangXu = " DESC "
End If
sql = "SELECT N2, " & strZiDuan & "FROM Result WHERE Qi= ' " & strQi & " 'ORDER BY " & strZiDuan & strJiangXu
(N2是数据表中的一个字段)
根据这条语句来查询,没能实现,请大侠帮忙。先谢了!
[解决办法]
sql = "SELECT N2, " & strZiDuan & " FROM Result WHERE Qi= ' " & strQi & " ' ORDER BY " & strZiDuan & strJiangXu
[解决办法]
如果你完全按照我的方法写的,应该不会出现这个问题的,你看看下列的两句代码,第一句是错的,第二句是对的
sql = "SELECT N2, ' " & strZiDuan & " ' FROM Result WHERE Qi= ' " & strQi & " ' ORDER BY " & strZiDuan & strJiangXu
sql = "SELECT N2, " & strZiDuan & " FROM Result WHERE Qi= ' " & strQi & " ' ORDER BY " & strZiDuan & strJiangXu
[解决办法]
1.可能是你的strZiDuan变量在后来发生了变化,不是查询时赋给SQL语句的那个了,我也不同意楼上的做法,那样会降低代码的可读性,本人有个更好的办法,请如下修改这条语句:
sql = "SELECT N2, " & strZiDuan & " as ZiDuan FROM Result WHERE Qi= ' " & strQi & " ' ORDER BY " & strZiDuan & strJiangXu
然后再这样使用:
X=RST.Fields( "ZiDuan ")
或者X=RST!ZiDuan