萧
萧月禾
Unregistered / Unconfirmed
GUEST, unregistred user!
近日在写一个DEMO的时候,使用ACCESS数据库。
在对该数据库表进行操作的数据集控件如ADODataSet中
写以下代码:
Select * from TableName
Where @Flag
其中@Flag为一布尔型参数,在Parameters属性中对它进行设置
开始给该参数赋值“False”,然后执行查询(ADODataSet.Active:=True)
返回0记录集合(正确);
然后再给该参数赋值“True”,然后执行查询
返回TableName表的所有记录(正确);
但再次给该参数赋值“False”,然后执行查询
仍然返回TableName表的所有记录(错误);
最后发现在这里只要是布尔型的参数,一旦给它赋值为True
它就一直是True了,甚怪哉
后来我用这样的方法
Select * from TableName
Where @Flag = 1
这时@Flag是整数型参数,只要设置它是否为1则达到正确的查询目的
但我还是不了解为什么布尔型的参数会那样?
大家是否也曾遇到过这种情况?
在对该数据库表进行操作的数据集控件如ADODataSet中
写以下代码:
Select * from TableName
Where @Flag
其中@Flag为一布尔型参数,在Parameters属性中对它进行设置
开始给该参数赋值“False”,然后执行查询(ADODataSet.Active:=True)
返回0记录集合(正确);
然后再给该参数赋值“True”,然后执行查询
返回TableName表的所有记录(正确);
但再次给该参数赋值“False”,然后执行查询
仍然返回TableName表的所有记录(错误);
最后发现在这里只要是布尔型的参数,一旦给它赋值为True
它就一直是True了,甚怪哉
后来我用这样的方法
Select * from TableName
Where @Flag = 1
这时@Flag是整数型参数,只要设置它是否为1则达到正确的查询目的
但我还是不了解为什么布尔型的参数会那样?
大家是否也曾遇到过这种情况?