标题:请教SQL语句
取消只看楼主
badskf
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-12-21
 问题点数:0 回复次数:15 
请教SQL语句

表单或网页传递参数ygxm和adddate

根据传递值进行查询

1.如果传递ygxm为空则查询对应adddate(日期)记录

2.如果传递ygxm为不为空,adddate这空则查询对应ygxm的记录

3.如果传递ygxm不为空且adddate也不为空则查询对应adddate(日期)和对应ygxm的记录

请教SQL语句 asp+mssql

搜索更多相关主题的帖子: SQL语句 ygxm adddate 网页 
2005-12-21 10:35
badskf
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-12-21
得分:0 

我想要下具体的代码,我是新手,呵

2005-12-21 10:43
badskf
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-12-21
得分:0 
很谢谢你,我还想问下
set rs=.....
rs.open ....

那RS=sql还是其它?
2005-12-21 10:54
badskf
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-12-21
得分:0 

<%
dim ygxm,adddate,rs
ygxm=request("ygxm")
adddate=request("adddate")

if ygxm<>"" and adddate="" then
sql="select * from hz where ygxm = '"&ygxm&"'" '这个比较根据你的实际情况写比较符号
end if
if ygxm="" and adddate<>"" then
sql="select * from hz where adddate = '"&adddate&"'" '这个比较根据你的实际情况写比较符号
end if
if ygxm<>"" and adddate<>"" then
sql="select * from hz where ygxm = '"&ygxm&"' and adddate = '"&adddate&"'" '这个比较根据你的实际情况写比较符号
end if


Set rs = Server.CreateObject("ADODB.Recordset")
rs.Source = "SELECT * FROM dbo.yh WHERE id = " + Replace(rs_yu__MMColParam, "'", "''") + ""
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
rs.open
%>

2005-12-21 10:59
badskf
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-12-21
得分:0 

对吗?
可是:
错误类型:
ADODB.Recordset (0x800A0E7D)
连接无法用于执行此操作。在此上下文中它可能已被关闭或无效。
/shoes/test.asp, 第 32 行

2005-12-21 11:00
badskf
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-12-21
得分:0 

<%
dim ygxm,adddate,rs
ygxm=request("ygxm")
adddate=request("adddate")

if ygxm<>"" and adddate="" then
sql="select * from hz where ygxm = '"&ygxm&"'" '这个比较根据你的实际情况写比较符号
end if
if ygxm="" and adddate<>"" then
sql="select * from hz where adddate = '"&adddate&"'" '这个比较根据你的实际情况写比较符号
end if
if ygxm<>"" and adddate<>"" then
sql="select * from hz where ygxm = '"&ygxm&"' and adddate = '"&adddate&"'" '这个比较根据你的实际情况写比较符号
end if

set rs=Server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,3,1,1
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><%=rs("ygxm")%></td>


按上面的语句出现了下面的错误的
错误类型:
ADODB.Recordset (0x800A0BB9)
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
/shoes/test.asp, 第 28 行

2005-12-21 11:05
badskf
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-12-21
得分:0 
rs.open sql,conn,3,1,1(为第28行)
2005-12-21 11:07
badskf
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-12-21
得分:0 
错误类型:
ADODB.Recordset (0x800A0BB9)
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突

什么情况下会出现这种错误的
我数据库连接不是用字符串的
2005-12-21 11:15
badskf
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-12-21
得分:0 

能不能告诉我
rs.open sql,conn,3,1,1中
3,2,1
的具体意义呀

2005-12-21 11:18
badskf
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-12-21
得分:0 

谢谢。
<%
Dim rs
Dim rs_numRows

Set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = MM_gz_STRING
rs.Source = "SELECT * FROM dbo.hz ORDER BY adddate DESC"
rs.CursorType = 0
rs.CursorLocation = 3
rs.LockType = 3
rs.Open()

rs_numRows = 0
rs.PageSize = 20
'这里设定每页显示的记录数
pre = true
last = true
page = trim(Request.QueryString("page"))

if len(page) = 0 then
intpage = 1
pre = false
else
if cint(page) =< 1 then
intpage = 1
pre = false
else
if cint(page) >= rs.PageCount then
intpage = rs.PageCount
last = false
else
intpage = cint(page)
end if
end if
end if
if not rs.eof then
rs.AbsolutePage = intpage
end if
%>
这个是正确的查询,可是不能达到我要的那个查询效果,要是改的话,却总是显示上面的错误的

2005-12-21 11:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-39212-1-1.html




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

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