asp,怎么执行存储过程,并获得存储过程中返回的数据列表,以及output参数

额数据苔黄腻特色 2014-12-30 10:35:51

想在程序获取那个数据列表,以及nosentclass(output类型的参数),该怎么写调用?
...全文
230 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangjia1991 2014-12-31
  • 打赏
  • 举报
回复
记得多给点分数,谢谢了。
wangjia1991 2014-12-31
  • 打赏
  • 举报
回复
我原来写过一个例子,你看看,道理应该是一样的。 public static DataSet SelectProc(string sql, SqlParameter[] sp,out int count) { DataSet ds = new DataSet(); using (SqlConnection con = new SqlConnection(connectionString)) { try { SqlCommand cmd = getCommand(sql, con, CommandType.StoredProcedure, sp); cmd.Parameters.Add(new SqlParameter("@count", SqlDbType.Int, 4)); cmd.Parameters["@count"].Direction = ParameterDirection.Output; cmd.Parameters["@count"].Value = -1; con.Open(); SqlDataAdapter sda = new SqlDataAdapter(cmd); sda.Fill(ds, "tables"); count = int.Parse(cmd.Parameters["@count"].Value.ToString()); cmd.Parameters.Clear(); } catch (Exception ex) { con.Close(); throw new Exception("执行T-SQL还回的DataSet出错,错误信息: " + ex.Message); } finally { con.Close(); } return ds; } } public static SqlCommand getCommand(string sql, SqlConnection con, CommandType type, SqlParameter[] sp) { SqlCommand cmd = new SqlCommand(); cmd.CommandText = sql; cmd.CommandType = type; cmd.Connection = con; if(sp!=null) { foreach (SqlParameter para in sp) { if (para.Value == null) { para.Value = DBNull.Value; } cmd.Parameters.Add(para); } } return cmd; } 我这个方法,是查询出结果集以及结果的行数。调用:PharmacyDbHelp.DbSQLhelp.SelectProc(Sql, sp, out count) count的值就是返回的结果集行数。你根据这个思路,应该能解决问题
qq_19920727 2014-12-30
  • 打赏
  • 举报
回复
类似了 只是 把 做为一个sql语句传进去 参数分开 防止注入 =。=
  • 打赏
  • 举报
回复
引用 1 楼 qq_19920727 的回复:
exec 存储过程名 '参数' 多个参数,号隔开 存储过程返回的是结果集 你直接在存储过程中写select 语句即可 SQL的游标是自动的 所以不用担心 oracle 要手动玩游标 很纠结
我要的是在asp里边调用存储过程,不是在sql里边
qq_19920727 2014-12-30
  • 打赏
  • 举报
回复
exec 存储过程名 '参数' 多个参数,号隔开 存储过程返回的是结果集 你直接在存储过程中写select 语句即可 SQL的游标是自动的 所以不用担心 oracle 要手动玩游标 很纠结

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧