错误:“未将对象引用设置到对象的实例 ” 存储过程带参数输出
opbsm 2006-07-17 01:24:42
public DataView SelectUser(int pageIndex,int pageSize,out int countNum)
{
conn=DB.DBConnection();
conn.Open();
SqlDataAdapter sdr=new SqlDataAdapter();
sdr.SelectCommand=new SqlCommand("page_user",conn);
sdr.SelectCommand.CommandType=CommandType.StoredProcedure;
sdr.SelectCommand.Parameters.Add("@pageIndex",SqlDbType.Int,4);
sdr.SelectCommand.Parameters.Add("@pageSize",SqlDbType.Int,4);
sdr.SelectCommand.Parameters.Add("@intUserCount",SqlDbType.Int,4);
sdr.SelectCommand.Parameters["@pageIndex"].Value=pageIndex;
sdr.SelectCommand.Parameters["@pageSize"].Value=pageSize;
sdr.SelectCommand.Parameters["@intUserCount"].Direction=ParameterDirection.Output;
countNum=Int32.Parse(sdr.SelectCommand.Parameters["@intUserCount"].Value.ToString());//这里报错
conn.Close();
DataSet ds=new DataSet();
sdr.Fill(ds,"userlist");
return ds.Tables["userlist"].DefaultView;
未将对象引用设置到对象的实例。
----------
一个分页的存储过程,求首尾ID的
CREATE PROCEDURE page_user
@pageIndex int ,/*当前页数*/
@pagesize int,/*每页多少页*/
@intUserCount int output/*求总数*/
as
set nocount on
declare @BeginId int
declare @PageNum int
declare @lastid int
select @intUserCount=count(*) from clubuser
set @PageNum=@pagesize*(@pageIndex-1)+1
set rowcount @PageNum
select @BeginId=id from clubuser order by id
set @PageNum=@pagesize*@pageIndex
set rowcount @PageNum
select @lastid=id from clubuser order by id
set rowcount 0
set nocount off
select * from clubuser where id between @BeginId and @lastid order by id desc
GO