ASP+SQL2000多条件模糊查询

我想给3个字段条件的模糊查询我现在只写得来查询xingming这一个字段我还有两个字段分别是dizhi和shijian请教前辈们帮我把代码加全,十分感谢!<%xingmi... 我想给3个字段条件的模糊查询 我现在只写得来查询xingming这一个字段 我还有两个字段分别是 dizhi 和 shijian 请教前辈们帮我把代码加全,十分感谢!
<%
xingming=request.form("xingming")
set conn=server.createObject("ADODB.Connection")
conn.open "driver={SQL Server};server=wjx;UID=sa;PWD=123456;database=xxx"
set rs = server.createobject("adodb.recordset")
sql="select * from ooo where xingming like '%"&xingming&"%'"
rs.open sql,conn,1,1
%>
展开
 我来答
俊俏又柔美灬繁星N
2010-12-05 · TA获得超过466个赞
知道小有建树答主
回答量:583
采纳率:100%
帮助的人:415万
展开全部
LZ 像这种表不满足第一范式 字段多值
有种做法叫 拆分元素
也就是 多值字段转成多行,那么就很好处理了
按你的数据 下面是语句 希望对你有帮助
这里也借助一张数字表 来取得 XX字段','的位置

--创建测试表
CREATE TABLE Test
(
Id int primary key identity(1,1),
title int,
xx varchar(2000),
)
--插入数据
INSERT INTO Test
SELECT 22,'12,23,44,55'
UNION ALL SELECT 22,'122,13,44,55'
UNION ALL SELECT 22,'12,22,43,51'
UNION ALL SELECT 22,'1,13,44,55'
UNION ALL SELECT 22,'12,23,24,25'
UNION ALL SELECT 22,'12,33,44,55'
UNION ALL SELECT 22,'2,3,44,55'
UNION ALL SELECT 22,'23,1,2,3'
--建个数字辅助表
CREATE TABLE Nums
(
NumID int primary key
)
--插入数据
DECLARE @InitNum int
SET @InitNum =1
WHILE @InitNum<=100
BEGIN
INSERT INTO Nums
SELECT @InitNum
SET @InitNum=@InitNum+1
END

--开始查询--mssql的SUBSTRING开始索引是从1开始的
SELECT id,title,xx,numid,SUBSTRING( xx ,numid,CHARINDEX(',',xx+',',numid)-numid )AS '单独元素'
FROM Test JOIN Nums
ON NumID <= LEN(xx)
AND SUBSTRING(','+xx,NumID,1)=','
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
esjmn99
2010-12-10 · 超过15用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:0
展开全部
LZ 像这种表不满足第一范式 字段多值
有种做法叫 拆分元素
也就是 多值字段转成多行,那么就很好处理了
按你的数据 下面是语句 希望对你有帮助
这里也借助一张数字表 来取得 XX字段','的位置

--创建测试表
CREATE TABLE Test
(
Id int primary key identity(1,1),
title int,
xx varchar(2000),
)
--插入数据
INSERT INTO Test
SELECT 22,'12,23,44,55'
UNION ALL SELECT 22,'122,13,44,55'
UNION ALL SELECT 22,'12,22,43,51'
UNION ALL SELECT 22,'1,13,44,55'
UNION ALL SELECT 22,'12,23,24,25'
UNION ALL SELECT 22,'12,33,44,55'
UNION ALL SELECT 22,'2,3,44,55'
UNION ALL SELECT 22,'23,1,2,3'
--建个数字辅助表
CREATE TABLE Nums
(
NumID int primary key
)
--插入数据
DECLARE @InitNum int
SET @InitNum =1
WHILE @InitNum<=100
BEGIN
INSERT INTO Nums
SELECT @InitNum
SET @InitNum=@InitNum+1
END

--开始查询--mssql的SUBSTRING开始索引是从1开始的
SELECT id,title,xx,numid,SUBSTRING( xx ,numid,CHARINDEX(',',xx+',',numid)-numid )AS '单独元素'
FROM Test JOIN Nums
ON NumID <= LEN(xx)
AND SUBSTRING(','+xx,NumID,1)=','
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
传奇勇者
2010-12-04 · TA获得超过747个赞
知道大有可为答主
回答量:1706
采纳率:75%
帮助的人:811万
展开全部
select * from ooo where xingming like '%"&xingming&"%'" or dizhi like '%"&xingming&"%'" or shijian like '%"&xingming&"%'".
这儿用的查询方式是一个输入,一次匹配三个字段,当然你也可以用三个输入分别匹配三个字段。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
06zhangqingjie
2010-12-04
知道答主
回答量:4
采纳率:0%
帮助的人:6414
展开全部
<%
xingming=request.form("xingming")
set conn=server.createObject("ADODB.Connection")
conn.open "driver={SQL Server};server=wjx;UID=sa;PWD=123456;database=xxx"
set rs = server.createobject("adodb.recordset")
sql="select * from ooo where xingming+dizhi+shijian like '%"&xingming&"%'"
rs.open sql,conn,1,1
%>
输入一个值可以匹配三个字段的值!做模糊查询
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
easysoft_bj
2010-12-07 · TA获得超过378个赞
知道大有可为答主
回答量:7349
采纳率:0%
帮助的人:2241万
展开全部
For a description of your ASP+SQL2000多条件模糊查询,
带着你的问题和Email来找我,
请与我们联系进一步需求,
有可能帮你,
使用百度_Hi给我留言,
此回复针对所有来访者和需求者有效,
ES:\\84C1CC070C71738DC48000759777AE96
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式