C#如何接收存储过程的返回结果集
ALTERprocedure[dbo].[prou_iflogin]--创建名为--prou_landing的存储过程--输入参数,参数样式为@参数名参数类型@UserI...
ALTER procedure [dbo].[prou_iflogin]--创建名为--prou_landing的存储过程 --输入参数 ,参数样式为 @参数名 参数类型 @UserId varchar(15)--用户名ID as select mds,time,username from userinfo where userid=@UserId go 上面的存储过程返回的结果是一行三列的表格 我现在需要把这个三列的指分别拿出来,请高手指导!!!! 我的C#代码如下: public static string[] GetUserInformation() //获得用户详细信息 { DataSet ds = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(); string[] InForMation = new string[3]; using (SqlConnection conn = new SqlConnection(getTools.ConnString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand("prou_iflogin", conn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@userid", SqlDbType.VarChar); cmd.Parameters["@userid"].Value = user.Userid; cmd.ExecuteNonQuery(); adapter.SelectCommand = cmd; if (ds != null) { adapter.Fill(ds, "userinfo"); } //这里怎么把ds的数据读取出来放到数组里面呢? } return InForMation; } }
展开
1个回答
展开全部
请看下面加粗代码 public static string[] GetUserInformation() //获得用户详细信息 { DataSet ds = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(); string[] InForMation = new string[3]; using (SqlConnection conn = new SqlConnection(getTools.ConnString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand("prou_iflogin", conn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@userid", SqlDbType.VarChar); cmd.Parameters["@userid"].Value = user.Userid; cmd.ExecuteNonQuery(); adapter.SelectCommand = cmd; if (ds != null) { adapter.Fill(ds, "userinfo"); } //这里怎么把ds的数据读取出来放到数组里面呢? //下面的就是放到数组里的代码 DataTable dt = ds.Table[0]; string[] strmds = new string[dt.Rows.Count]; string[] strtime = new string[dt.Rows.Count]; string[] username = new string[dt.Rows.Count]; for(int i=0;i<dt.Rows.Count;i++) { strmds[i] = dt.Rows[i][0].ToString(); strtime[i] = dt.Rows[i][1].ToString(); username[i] = dt.Rows[i][2].ToString(); } } return InForMation; } }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询