如何在aspx中得到在存储过程中的的数值(兼答jspfuns的问题)

2016-01-29 13:57 0 1 收藏

如何在aspx中得到在存储过程中的的数值(兼答jspfuns的问题),如何在aspx中得到在存储过程中的的数值(兼答jspfuns的问题)

【 tulaoshi.com - ASP.NET 】

这里的存储过程是在SQL Server 下的存储过程,由于目前豆腐没有使用存储过程,所以豆腐在举例子的时候
使用了SQL2K,估计在Oracle下应该也是一样的,欢迎大家 和豆腐一起来探讨这个问题
我们知道在存储过程中有个被称做output 的参数,他可以在不同的存储过程之中互相的传递参数,在使用output 的时候
要注意下面的情况

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

OUTPUT 变量必须在创建表和使用该变量时都进行定义。参数名和变量名不一定要匹配,不过数据类型和参数位置必须匹配
我们创建一个最简单的存储过程
CREATE PROCEDURE test
(@subject Varchar(15) Output)
AS
select @subject='豆腐制作 都是精品'
GO
可是如何取得回掉的参数呢?白思不得其解,后来终于在SQL AnaLyzer 上得到了启发,
DECLARE @aa Varchar(10)
execute test @aa output
select aa=@aa
根据这个,我们可在Asp.Net中利用ADO+的多语句处理功能来实现我们的设想,最终通过SQLDataReader 如同
Select 语句一样来得到输出,完整的程序如下。

<%@ Import Namespace="System.IO" %
<%@ Import Namespace="System.Data" %
<%@ Import Namespace="System.Data.SQL" %
<script language="C#" runat=server
protected void Page_Load(Object Src, EventArgs E){
SQLDataReader dbRead;
SQLCommand dbComm;
String strSQL;
String strConn;
SQLConnection conn;
Hashtable Cfg=new Hashtable();
Cfg = (Hashtable)Context.GetConfig("appsettings");
strConn=Cfg["Conn"].ToString();
conn = new SQLConnection(strConn);
strSQL="DECLARE @aa Varchar(10)nexecute test @aa outputnselect aa=@aa";
dbComm = new SQLCommand(strSQL, conn);
dbComm.ActiveConnection.Open();
dbComm.Execute(out dbRead);
dbRead.Read();
showmsg.Text=dbRead["aa"].ToString();
}
</script
<html
<head
<title测试存储过程</title
</head
<body
<asp:Label id=showmsg runat=server /
</body
</html
其实,豆腐在实际的应用中一般是很少使用output 参数的,豆腐一般都是这样使用的:
存储过程 的内容如下:
CREATE PROCEDURE test
AS
select @subject='豆腐制作 都是精品'
select aa=@subject
GO
就是在 存储过程 的最后依据利用 Select 让存储过程返回一个记录集合,然后我们就可以把这个存储过程
看作是一个 select 语句来处理了,这样下来,asp.Net 的SQL 语句就变成了
strSQL="test";
其他的内容都变化,一样可以得到相同的效果

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

来源:https://www.tulaoshi.com/n/20160129/1492083.html

延伸阅读
亲历产床:我为什么会犯罪 受访人:阿兰(四川) 年 龄:35岁 受教育程度:初中 婚姻状况:1990年结婚后离婚 健康情况:1991年生头胎 职 业:原工厂工人,tulaoshi.com现服刑 个人档案 女人是不是可以划归二大类,做过母亲的和没做母亲的。我觉得二类人有质的不同。女人天生是要做母亲的,那是本能的需求,也是心智成长的必经之路。女...
www.Tulaoshi.com分娩过程中的食物     初次分娩的妈妈在分娩时可能会几个小时或更长的时间,在此期间,妈妈是可以吃一些食物的,在分娩过程中吃什么好呢?       甜甜的高热量     巧克力、蛋糕、甜味的孕妇奶粉等高热量的食物都能为体力消耗提供充足的...
标签: 孩子
孩子心中的梦想是最美丽的 可以说,梦想、做自己引以为豪的事情、父母和老师的信任和尊重,是让每一个孩子保持好心情,并进入快乐学习状态的三要素,而梦想则又是其中的核心。心有多大,舞台就有多大。所以每一个孩子都要有梦想,梦想不是可实现的目标,它或许只是一个妄想,但不能没有,它是烛照孩子心灵的亮光,孩子心中的憧憬是最美丽的...
标签: 情感
爱情是追到手的吗 不是。真正的感情根本不需要追的。两个人的默契,在慢慢将两颗心的距离缩短,在无意识中渐渐靠近彼此。从好朋友到情人,真正的感情是用不了多久的。从你喜欢上他的那一刻起,也许他也在那一刻喜欢上了你。同节奏的爱情往往能奏出最和谐最动听的乐章。真正的爱情需要什么?需要两个人在一起是轻松快乐的,没有压...
存储过程中的TOP后跟一个变量会如何? 代码如下: Create proc getWorkPlan2 (@intCounter int ,@lngUserID int) as select Top 5 lngWorkID,strWorkName,strExecHumanName,strBeginDate from worklist where lngExecHumanID= @lngUserID order by lngWorkID desc 现在想将这里的Top 5 改为变量· Top @intCounter 如下 代码如下...

经验教程

938

收藏

93
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部