| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1644 人关注过本帖
标题:[求助]vb进行数据库查询时怎么区分大小写
只看楼主 加入收藏
linrz1984
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-8-7
收藏
 问题点数:0 回复次数:2 
[求助]vb进行数据库查询时怎么区分大小写

我是一个新手,现在在做vb6.0和sql server 2000结合的系统.想请问各位大侠,在vb进行数据库中数据查询时怎么进行区分数据大小写的查询?在此先谢过了!

搜索更多相关主题的帖子: 数据库 大小写 查询 
2006-08-09 00:00
VB爱上我
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:478
专家分:52
注 册:2005-10-14
收藏
得分:0 
因为SQL 2000里没有这个字符串比较函数,所以要自定义一个StrComp函数(进行二进制比较)。
定义如下:
------------------------------------------------------------------------------------------
CREATE FUNCTION StrComp(@Str1 VARCHAR(50),@Str2 VARCHAR(50))
--ALTER FUNCTION StrComp(@Str1 VARCHAR(50),@Str2 VARCHAR(50))
RETURNS INTEGER
AS
BEGIN
DECLARE @i INTEGER
--DECLARE @Str1 VARCHAR(50)
--DECLARE @Str2 VARCHAR(50)
DECLARE @y INT
--SET @Str1='a'
--SET @Str2='A'
SET @i=0
--SELECT ASCII(SUBSTRING(@Str1,@i+1,1))
SET @y=1
DECLARE @iLen INT
SET @iLen = LEN(LTRIM(RTRIM(@Str1)))
IF LEN(LTRIM(RTRIM(@Str1))) < LEN(LTRIM(RTRIM(@Str2))) --THEN
SET @iLen = LEN(LTRIM(RTRIM(@Str2)))
WHILE (@i < @iLen)
BEGIN
IF (ASCII(SUBSTRING(@Str1,@i+1,1))=ASCII(SUBSTRING(@Str2,@i+1,1))) --THEN
SET @i = @i +1
ELSE
BEGIN
SET @y=0
BREAK
END
END
RETURN @y
END
--------------------------------------------------------------------------------------------
然后再用这个语句看看效果。
rs.Open "select * from hblx where dbo.StrComp(hblx, 'Abc')=1", myado, 1, 1

IT618资讯网 提供服务端开发,前端开发,网页特效,热门开源系统研究,软件下载,站长建站,淘宝开店等学习资料.
2006-08-09 12:43
linrz1984
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-8-7
收藏
得分:0 
非常感谢你能回答我的问题.这两天我查了一些sql 2000中的区分大小写的查询方法:
select * from 表
where fd collate Chinese_PRC_CS_AS_WS like '%A%'
--就是在字段名后加 collate Chinese_PRC_CS_AS_WS
但我用这个方法查询时却遇到了一些问题:
Adodc3.RecordSource = "select 氧化物 from 氧化物表 where 氧化物 collate Chinese_PRC_CS_AS_WS like'" + Trim(Text2.Text) + "'"
Adodc3.Refresh
数据库中氧化物为SiO2,我用command1控制查询.
1.我在Text2.Text中输入SiO2,当我第一次点command1时,可以查到结果,这是正确的.
2.然后我把Text2.Text中该改为sio2,点下command1后查不到结果,这也是正确的.
3.之后我又把Text2.Text中该改回SiO2,点下command1后却又查不到结果了,这里我就不明白了.
是这个查询语句的问题,还是我程序中的问题?你能告诉我这是为什么吗?
2006-08-11 02:30
快速回复:[求助]vb进行数据库查询时怎么区分大小写
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051611 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved