首页 > 代码库 > C# 调用存储过程
C# 调用存储过程
下面以调用:Sql Server 分页存储过程为例
调用代码如下:
string MyConn = "server=数据库服务器Ip;uid=数据库用户名;pwd=密码;database=数据库名称;Trusted_Connection=no"; SqlConnection MyConnection = new SqlConnection(MyConn); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = MyConnection; da.SelectCommand.CommandText = "proc_ListPageInt"; da.SelectCommand.CommandType = CommandType.StoredProcedure; IDataParameter[] parameters = { new SqlParameter("@tblName", SqlDbType.NVarChar) , new SqlParameter("@fldName", SqlDbType.NVarChar) , new SqlParameter("@pageSize", SqlDbType.Int) , new SqlParameter("@page", SqlDbType.Int) , new SqlParameter("@pageCount", SqlDbType.Int) , new SqlParameter("@Counts", SqlDbType.Int) , new SqlParameter("@fldSort", SqlDbType.NVarChar) , new SqlParameter("@Sort", SqlDbType.Bit) , new SqlParameter("@strCondition", SqlDbType.NVarChar) , new SqlParameter("@ID", SqlDbType.NVarChar) , new SqlParameter("@Dist", SqlDbType.Bit) }; // 设置参数类型 parameters[0].Direction = ParameterDirection.Input;// 设置为输入参数 parameters[0].Value = http://www.mamicode.com/"sysobjects";>
调用存储过程的东东已经搞定了,那么怎么获取dataset呢?方法一:
SqlDataAdapter dp = new SqlDataAdapter(da.SelectCommand); DataSet ds = new DataSet(); dp.Fill(ds);
方法二:SqlDataReader reader = da.SelectCommand.ExecuteReader();//读取数据 DataSet ds = this.ConvertDataReaderToDataSet(reader); MyConnection.Close();
执行结果如下:
与在数据库中执行的结果一致。
那么新的问题来了,如果获取存储过程的返回参数呢?
比如获取pageCount,代码如下:
int pageCount = int.Parse(da.SelectCommand.Parameters["@pageCount"].Value.ToString());小注
DataReader转DataSet方法
C# 调用存储过程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。