用存储过程实现datagridview分页显示数据的。下面这段代码好难懂,谁给解析解析。 using (SqlConnection con = new SqlConnection(connectString))
{
SqlCommand sc = new SqlCommand();
sc.Connection = con;
sc.CommandType = CommandType.StoredProcedure; //用存储过程的名称来解析
sc.CommandText = "Page3"; paras[0] = new SqlParameter("@PageIndex", SqlDbType.Int); //给存储过程添加参数 赋值 实例化
paras[0].Value = pageIndex;
paras[1] = new SqlParameter("@PageSize", SqlDbType.Int);
paras[1].Value = pageSize;
paras[2] = new SqlParameter("@RecordCount", SqlDbType.Int);
paras[2].Direction = ParameterDirection.Output;
paras[3] = new SqlParameter("@PageCount", SqlDbType.Int);
paras[3].Direction = ParameterDirection.Output; for (int i = 0; i < paras.Length; i++)
sc.Parameters.Add(paras[i]); SqlDataAdapter da = new SqlDataAdapter(sc);
da.Fill(dt);
SqlParameter之前以定义为全局变量:SqlParameter[] paras = new SqlParameter[4];
{
SqlCommand sc = new SqlCommand();
sc.Connection = con;
sc.CommandType = CommandType.StoredProcedure; //用存储过程的名称来解析
sc.CommandText = "Page3"; paras[0] = new SqlParameter("@PageIndex", SqlDbType.Int); //给存储过程添加参数 赋值 实例化
paras[0].Value = pageIndex;
paras[1] = new SqlParameter("@PageSize", SqlDbType.Int);
paras[1].Value = pageSize;
paras[2] = new SqlParameter("@RecordCount", SqlDbType.Int);
paras[2].Direction = ParameterDirection.Output;
paras[3] = new SqlParameter("@PageCount", SqlDbType.Int);
paras[3].Direction = ParameterDirection.Output; for (int i = 0; i < paras.Length; i++)
sc.Parameters.Add(paras[i]); SqlDataAdapter da = new SqlDataAdapter(sc);
da.Fill(dt);
SqlParameter之前以定义为全局变量:SqlParameter[] paras = new SqlParameter[4];
解决方案 »
- DataList批量查出
- <sessionState mode="InProc"...导致URL多了一些乱码
- 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 急急急!!!!!在线等!.net平台C#开发,数据库为Oracle 10g,程序操作成功,却不定时总报
- 本人第一次进驻这里 希望各位多多指教 我是大一的学生
- .net打包部署问题
- ActiveX引用的问题
- 这样访问数据库对吗?
- COMBOBOX问题
- 实现datagrid的keydown方法,重写ProcessCmdKey方法出现问题!请高手指教!
- WinForm,控制台程序,WebServices的处理机制有什么不同?
- 超级无敌郁闷的,总是说错误:ConnectionString 属性尚未初始化
- 视频中抽取图片
sc.Parameters.Add(paras[i]);
给 SqlCommand sc = new SqlCommand();
SC添加值
也就是给用存储过程里面传的那个几值
使用方法看看MSDN
sqlCmd.CommandText="存储过程名称";
//给sql命令添加参数
SqlParameter ClassNo=sqlCmd.Parameter.Add("@ClassNo",SqlDbType.NVarChar,10)
//设定参数为输入参数
ClassNo.Direction=ParameterDirection.Input;
ClassNo.Value=txtClassNo.Text.Trim();SqlParameter StuCount=sqlCmd.Paramter.Add("@StudentCount",SqlDbType.Int);
//设定参数为输出参数
stuCount.Direction=ParameterDirection.Output;//添加一个参数接收返回值
SqlParameter retValue=sqlCmd.Paramter.Add("@ReturnValue",SqlDbType.Int);
retValue=ParameterDiretion.ReturnValue// 获取输出参数
stuCount.Value//获取返回值
retValue.Value
{
conn.Open();
SqlCommand MyCommand = new SqlCommand("", conn);//给sql命令添加参数
MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));
MyCommand.Parameters["@a"].Value = 20;
MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));
MyCommand.Parameters["@b"].Direction = ParameterDirection.Output;//输出参数
MyCommand.ExecuteNonQuery();
Response.Write(MyCommand.Parameters["@b"].Value.ToString());
}