TRY:CREATE PROCEDURE [dbo].[myproc]
@usrname varchar(13)=''
ASif @usrname <> ''
select * from controller where name=@usrname
else
select * from controller
GO...
sql="EXECUTE myproc '"& name &"'"
@usrname varchar(13)=''
ASif @usrname <> ''
select * from controller where name=@usrname
else
select * from controller
GO...
sql="EXECUTE myproc '"& name &"'"
@usrname varchar(13)
AS
if IsNull(@usrname,'') <> ''
begin
select * from controller where name=@usrname
end
else
begin
select * from controller
end
GO
@usrname varchar(13)
AS
if IsNull(@usrname,'') <> ''
begin
select * from controller where name=@usrname
end
else
begin
select * from controller
end
GO
@usrname varchar(13)
AS
if @usrname <> '' and @usrname is not null
begin
select * from controller where name=@usrname
end
else
begin
select * from controller
end
GO
CREATE PROCEDURE [dbo].[myproc]
@usrname varchar(13)
AS
set nocount on
if isnull(@usrname,'') <> ''
select * from controller where name=@usrname
else
select * from controller
set nocount off
GO
CREATE PROCEDURE [dbo].[myproc]
@usrname varchar(13)
AS
SET NOCOUNT ON
if IsNull(@usrname,'') <> ''
begin
select * from controller where name=@usrname
end
else
begin
select * from controller
end
GO
@usrname varchar(13)=''
AS
set nocount on
if isnull(@usrname,'') <> ''
select * from controller where name=@usrname
else
select * from controller
set nocount off
GO
这样做没错了,但是和我的程序有冲突,看看:
sql = "EXECUTE myproc '"&usrname&"'"
set conn = server.CreateObject("ADODB.connection")
conn.open "fq","admin","admin"
set rs = server.CreateObject("ADODB.recordset")
rs.open sql,conn,1,2
rs.pagesize = 20
if not rs.eof then
total = cstr(rs.pagecount)
if(request.Form("ok") = "确定") then
currentpage = clng(request("txtCurrentpage"))
elseif ( currentpage="" ) then
currentpage = clng(request("page"))
end if
'处理非法页码问题
if currentpage<1 then currentpage=1 end if
if currentpage>rs.pagecount then currentpage=rs.pagecount end if
rs.AbsolutePage = currentpage //就是这里出错,提示:参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
如果我把这一句注释掉,可以执行,但是不能翻页,这不是我想要的结果。请问该怎么解决呢?
sql = "EXECUTE myproc '"&usrname&"'"
set conn = server.CreateObject("ADODB.connection")
conn.open "fq","admin","admin"
set rs = server.CreateObject("ADODB.recordset")'加上这句就行了.
rs.CursorLocation = adUseClient
rs.open sql,conn,1,2
rs.pagesize = 20
if not rs.eof then
total = cstr(rs.pagecount)
if(request.Form("ok") = "确定") then
currentpage = clng(request("txtCurrentpage"))
elseif ( currentpage="" ) then
currentpage = clng(request("page"))
end if
'处理非法页码问题
if currentpage<1 then currentpage=1 end if
if currentpage>rs.pagecount then currentpage=rs.pagecount end if
rs.AbsolutePage = currentpage
郁闷啊,我已经搞了一整天了!!
adUseNone 没有使用游标服务。(该常量已过时并且只为了向后兼容才出现)。
adUseClient 使用由本地游标库提供的客户端游标。本地游标服务通常允许使用的许多功能可能是驱动程序提供的游标无法使用的,因此使用该设置对于那些将要启用的功能是有好处的。AdUseClient 具有向后兼容性,也支持同义的 adUseClientBatch。
adUseServer 默认值。使用数据提供者的或驱动程序提供的游标。这些游标有时非常灵活,对于其他用户对数据源所作的更改具有额外的敏感性。但是,Microsoft Client Cursor Provider(如已断开关联的记录集)的某些功能无法由服务器端游标模拟,通过该设置将无法使用这些功能。