首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c# ACCESS数据库查询有关问题

2012-06-03 
c# ACCESS数据库查询问题数据库中有一列值,列默认声明为文本型,但其实列的值都是数字型的。我现在想写sql语

c# ACCESS数据库查询问题
数据库中有一列值,列默认声明为文本型,但其实列的值都是数字型的。我现在想写sql语句判断列值大于5,小于100,怎么写啊?不知道怎么处理,会出现类型问题。

[解决办法]
sql 条件
CInt(你那列) > 5 and CInt(你那列) < 10
[解决办法]
接1楼,换这个
CLng(你那列) > 5 and CLng(你那列) < 10
[解决办法]
access有 Cint
sqlserver 有 cast ... as int
[解决办法]

探讨
引用:
access有 Cint
sqlserver 有 cast ... as int

不分字符型和数字型吗

[解决办法]
探讨
引用:
CLng() 这个函数的参数可以输入列名,然后执行 sql 语句时就把这列转换成 数值类型 处理。


C# code

mySelect = string.Format(@"SELECT * FROM Sheet1 WHERE CLng(cloud_height) > 5 and CLng(cloud_height) < 10");


这么写吗?不能执……

[解决办法]
探讨
引用:


ACCESS数据库中cloud_height列是文本型的,值如下:1、20、5、10、30...都是数字类的。
现想查找cloud_height数值在5-10之间的。代码如下

C# code

Connection();//调用数据库连接函数
mySelect = string.Form……

[解决办法]
如果那列为null的不要,就这样
C# code
mySelect = string.Format(@"SELECT * FROM Sheet1 WHERE CLng(IIf(IsNull(cloud_height),'-1',cloud_height)) > 5 and CLng(IIf(IsNull(cloud_height),'-1',cloud_height)) < 10)");
[解决办法]
C# code
SELECT * FROM Sheet1 WHERE CLng(IIf(IsNull(cloud_height),'-1',cloud_height)) > 5 and CLng(IIf(IsNull(cloud_height),'-1',cloud_height)) < 10)");[ 

热点排行