如何在PB中java调用exe 返回值存储过程并取得返回值和输出值的相关推荐

PB应该怎样判断调用的存储过程是否成功呢
[问题点数:40分,结帖人whyisgood]
PB应该怎样判断调用的存储过程是否成功呢
[问题点数:40分,结帖人whyisgood]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2010年7月 总版技术专家分月排行榜第二2010年6月 总版技术专家分月排行榜第二
2010年5月 总版技术专家分月排行榜第三
2003年7月 PowerBuilder大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。pb中調用sql存儲過程(帶參數和返回值)
pb中調用sql存儲過程(帶參數和返回值)
////声明储存过程:
CREATE PROCEDURE proc_pslx ( @NAME varchar(2) ,@count integer
select @count = Count(*) from wo_
--select @@count = Count(*) from wo_info where whs_name not in
('c1','k1','j1') ;
////在PB中调用:
Integer li_rtn
DECLARE lpro_test PROCEDURE FOR proc_pslx @name='C1', @count =
:li_rtn OUTPUT;
EXECUTE lpro_
Fetch lpro_test INTO :li_
messagebox("",string(li_rtn))
////在PB中調用存儲過程時參數名稱要和SQL中的一致。
怎么成五星了。。。
幫我把這個發表到我的空間吧
pb中調用sql存儲過程(帶參數和返回值)
////声明储存过程:
CREATE PROCEDURE proc_pslx ( @NAME varchar(2) ,@count integer
select @count = Count( * ) from wo_
--select @@count = Count( * ) from wo_info where whs_name not in
('c1','k1','j1') ;
////在PB中调用:
Integer li_rtn
DECLARE lpro_test PROCEDURE FOR proc_pslx @name='C1', @count =
:li_rtn OUTPUT;
EXECUTE lpro_
Fetch lpro_test INTO :li_
messagebox("",string(li_rtn))
////在PB中調用存儲過程時參數名稱要和SQL中的一致。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。& & 1.OUPUT参数返回值& & 复制代码代码如下:& & CREATE PROCEDURE [dbo].[nb_order_insert](& & @o_buyerid int ,& & @o_id bigint OUTPUT& & )& & AS& & BEGIN& & SET NOCOUNT ON;& & BEGIN& & INSERT INTO [Order](o_buyerid )& & VALUES (@o_buyerid )& & SET @o_id = @@IDENTITY& & END& & END& & 存储过程中获得方法:& & 复制代码代码如下:& & DECLARE @o_buyerid int& & DECLARE @o_id bigint& & EXEC [nb_order_insert] @o_buyerid,@o_id output& & 2.RETURN过程返回值& & 复制代码代码如下:& & CREATE PROCEDURE [dbo].[nb_order_insert](& & @o_buyerid int ,& & @o_id bigint OUTPUT& & )& & AS& & BEGIN& & SET NOCOUNT ON;& & IF(EXISTS(SELECT * FROM [Shop] WHERE [s_id] = @o_buyerid ))& & BEGIN& & INSERT INTO [Order](o_buyerid ) VALUES (@o_buyerid )& & SET @o_id = @@IDENTITY& & RETURN 1 — 插入成功返回1& & END& & ELSE& & RETURN 0 — 插入失败返回0 END& & 存储过程中的获取方法& & 复制代码代码如下:& & DECLARE @o_buyerid int& & DECLARE @o_id bigint& & DECLARE @result bit& & EXEC @result = [nb_order_insert] @o_buyerid ,o_id output& & 3.SELECT 数据集返回值& & 复制代码代码如下:& & CREATE PROCEDURE [dbo].[nb_order_select](& & @o_id int& & )& & AS& & BEGIN& & SET NOCOUNT ON;& & SELECT o_id,o_buyerid FROM [Order]& & WHERE o_id = @o_id& & GO& & 存储过程中的获取方法& & (1)、使用临时表的方法& & 复制代码代码如下:& & CREATE TABLE [dbo].[Temp](& & [o_id] [bigint] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,& & [o_buyerid] [int] NOT NULL& & )& & INSERT [Temp] EXEC [nb_order_select] @o_id& & – 这时 Temp 就是EXEC执行SELECT 后的结果集& & SELECT * FROM [Temp]& & DROP [Temp] — 删除临时表& & 1.获取Return返回值& & 复制代码代码如下:& & SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ToString());& & conn.Open();& & SqlCommand MyCommand = new SqlCommand("nb_order", conn);&//存储过程名字& & mandType = CommandType.StoredP   //指定类型为存储过程& & MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));& & MyCommand.Parameters["@a"].Value = 10;& & MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));& & MyCommand.Parameters["@b"].Value = 20;& & MyCommand.Parameters.Add(new SqlParameter("@return", SqlDbType.Int));& & MyCommand.Parameters["@return"].Direction = ParameterDirection.ReturnV& & MyCommand.ExecuteNonQuery();&&&&&&&&&&&&&&&//执行存储过程& & Response.Write(MyCommand.Parameters["@return"].Value.ToString()); //取得return的返回值& & 2.获取Output输出参数值& & 复制代码代码如下:& & SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ToString());& & conn.Open();& & SqlCommand MyCommand = new SqlCommand("nb_order", conn);& & mandType = CommandType.StoredP& & MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));& & MyCommand.Parameters["@a"].Value = 20;& & MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));& & MyCommand.Parameters["@b"].Value = 20;& & MyCommand.Parameters.Add(new SqlParameter("@c", SqlDbType.Int));& & MyCommand.Parameters["@c"].Direction = ParameterDirection.O& & MyCommand.ExecuteNonQuery();& & Response.Write(MyCommand.Parameters["@c"].Value.ToString()); //指定取得存储过程的返回值& & C#接收存储过程返回值:& & 复制代码代码如下:& & public static int User_Add(User us)& & {& & int iR& & SqlConnection conn = new SqlConnection(Conn_Str);& & SqlCommand cmd = new SqlCommand("User_Add", conn);& & mandType = CommandType.StoredP&&//指定存储过程&AddWithValue可以指定名称和值,而Add需要指定名称,类型,再给value& & cmd.Parameters.AddWithValue("@UName", us.UName);& & cmd.Parameters.AddWithValue("@UPass", us.UPass);& & cmd.Parameters.AddWithValue("@PassQuestion", us.PassQuestion);& & cmd.Parameters.AddWithValue("@PassKey", us.PassKey);& & cmd.Parameters.AddWithValue("@Email", us.Email);& & cmd.Parameters.AddWithValue("@RName", us.RName);& & cmd.Parameters.AddWithValue("@Area", us.Area);& & cmd.Parameters.AddWithValue("@Address", us.Address);& & cmd.Parameters.AddWithValue("@ZipCodes", us.ZipCodes);& & cmd.Parameters.AddWithValue("@Phone", us.Phone);& & cmd.Parameters.AddWithValue("@QQ", us.QQ);& & cmd.Parameters.Add("@RETURN_VALUE", "").Direction = ParameterDirection.ReturnV&&//指定输出参数是返回值& & try& & {& & conn.Open();& & cmd.ExecuteNonQuery();                   //执行存储过程& & iRet = (int)cmd.Parameters["@RETURN_VALUE"].V&&&//取得return的值& & }& & catch (SqlException ex)& & {& && & }& & finally& & {& & conn.Close();& & }& & return iR& & }& & C#接收存储过程的输出参数:& & 复制代码代码如下:& & public static decimal Cart_UserAmount(int UID)& & {& & decimal iR& & SqlConnection conn = new SqlConnection(Conn_Str);& & SqlCommand cmd = new SqlCommand("Cart_UserAmount", conn);& & mandType = CommandType.StoredP& & cmd.Parameters.AddWithValue("@UID", UID);& & cmd.Parameters.Add("@Amount", SqlDbType.Decimal).Direction=ParameterDirection.O&//利用Add方法为其添加名称,类型和输出参数& & try& & {& & conn.Open();& & cmd.ExecuteNonQuery();& & iRet = (decimal)cmd.Parameters["@Amount"].V&//取得存储过程中的输出参数& & }& & catch (SqlException ex)& & {& && & }& & finally& & {& & conn.Close();& & }& & return iR& & }& & C#取得结果集:& & 复制代码代码如下:& & string sqlw = string.Format("exec sp_UserInfo {0}", uid);& & DataTable dsuser = SqlConn.GetDataSet(sqlw).Tables[0];& & public static DataSet GetDataSet(string sql)& & {& & string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["ConnStr"].ToString();& & SqlConnection conn = new SqlConnection(connStr);& & SqlCommand cmd = new SqlCommand(sql, conn);& & SqlDataAdapter da = new SqlDataAdapter(cmd);&//直接用SqlDataAdapter将结果集取出来放入dataset中& & DataSet ds = new DataSet();& & da.Fill(ds);& & conn.Close();& & cmd.Dispose();& && & }& & QQ空间
百度搜藏更多& & Tags:存储过程 返回值& & 复制链接收藏本文打印本文关闭本文返回首页& & 上一篇:关于重新组织和重新生成索引sp_RefreshIndex的介绍& & 下一篇:SQL SERVER 2000通讯管道后复用劫持& & 相关文章关于SQL Server查询语句的使用利用脚本自动安装SQLServer的实现步骤分析设定sql server定期自动备份数据库MSSQL 删除数据库里某个用户所有表里的数据REPLICATE 以指定的次数重复字符表达式Sqlserver2000 数据库备份实例代码如何优化SQL语句的心得浅谈自动定时备份sqlserver数据库的方法在SQL中使用convert函数进行日期的查询的代码获取MSSQL数据字典的SQL语句& & 文章评论& & 最 近 更 新& & SQL学习笔记三 select语句的各种形式小结sqlserver 数据库压缩与数据库日志(ldf)压SQL Server全文检索查询浅析SQLServer 数据库的数据汇总完全解析(WIT关于数据库优化问题收集汇总使用SQL Server 获取插入记录后的ID(自动mysql 数据库中索引原理分析说明SQLSERVER的非聚集索引结构深度理解SQL Server 数据库备份和还原认识和总结有用的SQL语句(删除重复记录,收缩日志)& & 热 点 排 行& & SQL Server 2008图文安装教程SQL Server 2012 安装图解教程(附sqlserver中distinct的用法(不重SQL Server导入、导出、备份数据SQL语句去掉重复记录,获取重复记SQL Server数据库入门学习总结SQL Server错误代码大全及解释(sql convert函数使用小结sql 时间函数 整理的比较全了用SQL语句添加删除修改字段、一些
声明:该文章系网友上传分享,此内容仅代表网友个人经验或观点,不代表本网站立场和观点;若未进行原创声明,则表明该文章系转载自互联网;若该文章内容涉嫌侵权,请及时向
上一篇:下一篇:
相关经验教程
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.003 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.004 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益

我要回帖

更多关于 pb调用sql存储过程 的文章

 

随机推荐