62,253
社区成员
发帖
与我相关
我的任务
分享
create procedure DivPage
@strSql varchar(800),
@nPageSize int,
@nPageCount int
as
SET NOCOUNT ON
DECLARE @P1 INT,
@nRowCount INT
--//注意 :@scrollopt = 1 会取得Select 的时候的总行数
EXEC sp_cursoropen @P1 OUTPUT, @strSql, @scrollopt = 2, @ccopt = 335873, @rowcount = @nRowCount OUTPUT
IF (@P1 != 0)
BEGIN
--Select @nRowCount AS nRecordCount, ceiling(1.0 * @nRowCount / @nPageSize) AS nPageCount, @nPageCount AS nPage
SET @nPageCount = (@nPageCount - 1) * @nPageSize + 1
EXEC sp_cursorfetch @P1, 32, @nPageCount, @nPageSize
EXEC sp_cursorclose @P1
END
GO
using(comm.Connection =new SqlConnection(DBCommon.constr) )
{
string query = "select * from person";
comm.Connection.Open();
comm.CommandText = "DivPage";
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.Add(new SqlParameter("@strsql", query));
comm.Parameters.Add(new SqlParameter("@nPageSize",10));
comm.Parameters.Add(new SqlParameter("@nPageCount",1));
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = comm;
da.Fill(dt); //结果dt为空没有结果 在数据库直接执行 exec DivPage 'select * from person',10,1 能出结果
}
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = sqlCmd;
da.Fill(ds);
sqlCmd.Connection.Close();
dt = ds.Tables[1];
这样就有数据了 不知道 他为什么不在ds.Tables[0];
dt.Load(sqlCmd.ExecuteReader());
sqlCmd.Connection.Close(); 这样直接来就没数据了
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = sqlCmd;
da.Fill(ds);
sqlCmd.Connection.Close();
dt = ds.Tables[1]; //dt = ds.Tables[0]; 就没值
/// <summary>
/// 执行有参的查询 返回DataTable
/// </summary>
/// <param name="cmdtext">存储过程名称或SQL语句</param>
/// <param name="ct">命令类型</param>
/// <param name="para">参数数组</param>
/// <returns>返回DataTable</returns>
public static DataTable ReturnDataTable(string cmdtext, CommandType ct, SqlParameter[] para)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(cmdtext, GetConn());
cmd.CommandType = ct;
cmd.Parameters.AddRange(para);
SqlDataReader dr = null;
using (dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(dr);
}
return dt;
} public int TeacherApp_add(M_Model.Parameters parameter)
{
IDataParameter[] iData = new SqlParameter[5];
iData[0] = new SqlParameter("@TableName", "S_Appraisalnote");
iData[1] = new SqlParameter("@sqlcolumns", parameter.Sqlcolumns);
iData[2] = new SqlParameter("@sqlstrpara", parameter.NewSqlstrpara);
iData[3] = new SqlParameter("@S_id", parameter.S_id);
iData[4] = new SqlParameter("@C_id", parameter.ClassID);
DataComponent dac = new DataComponent();
int value = dac.ExecuteNonQuery("Proc_InsertS_Appraisalnote",CommandType.StoredProcedure,iData);
dac.Close();
return value;
}