频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

WebServices调用存储过程

来源:csdn 作者:凌风 出处:巧巧读书 2006-04-09 进入讨论组

  using System;

  using System.Collections;

  using System.ComponentModel;

  using System.Data;

  using System.Diagnostics;

  using System.Web;

  using System.Web.Services;

  using System.Data.OleDb;

  using System.Web.Services.Protocols;  

  namespace SFXTWebService

  {

   ///

   /// Service1 的摘要说明。

   ///


   public class Service1 : System.Web.Services.WebService

   {

   public Service1()

   {

   //CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的

   InitializeComponent();

   }  

   #region 组件设计器生成的代码  

   //Web 服务设计器所必需的

   private IContainer components = null;  

   ///

   /// 设计器支持所需的方法 - 不要使用代码编辑器修改

   /// 此方法的内容。

   ///


   private void InitializeComponent()

   {  

   }  

   ///

   /// 清理所有正在使用的资源。

   ///


   protected override void Dispose( bool disposing )

   {

   if(disposing && components != null)

   {

   components.Dispose();

   }

   base.Dispose(disposing);

   }
  

   #endregion  

   // WEB 服务示例

   // HelloWorld() 示例服务返回字符串 Hello World

   // 若要生成,请取消注释下列行,然后保存并生成项目

   // 若要测试此 Web 服务,请按 F5 键

   #region SFQD

   [WebMethod]

   public DataSet GetProcedureSFQD(string strp_lsh,out string strp_zt)

   {

   string strDBConnection = "";

   strDBConnection = System.Configuration.ConfigurationSettings.AppSettings["ConnDBString"];

   OleDbConnection oleConn = new OleDbConnection(strDBConnection);

   oleConn.Open();

   OleDbCommand oleComm = new OleDbCommand("SFXT.SP_SF_BANK_SFQD",oleConn);//调用存储过程的方法

   oleComm.CommandType = CommandType.StoredProcedure;//存储过程名称

   try

   {
  

   //in参数

   oleComm.Parameters.Add(new OleDbParameter("p_lsh",OleDbType.VarChar,50)).Value = strp_lsh;  

   //out参数

   oleComm.Parameters.Add(new OleDbParameter("p_zt",OleDbType.VarChar,50));

   oleComm.Parameters["p_zt"].Direction = ParameterDirection.Output;  

   oleComm.ExecuteNonQuery();//执行存储过程

   //赋值

   strp_zt = oleComm.Parameters["p_zt"].Value.ToString();  

   string str1 = oleComm.Parameters["p_zt"].Value.ToString();  

   DataSet ds = new DataSet();  

   DataTable table1 = new DataTable();

   ds.Tables.Add(table1);  

   ds.Tables[0].Columns.Add("p_zt");  

   DataRow dr = ds.Tables[0].NewRow();

   dr[0] = str1;  

   ds.Tables[0].Rows.Add(dr);  

   return ds;  

   }

   catch(Exception)

   {

   strp_zt = "";

   return null;

   }

   finally

   {

   oleConn.Close();

   oleConn.Dispose();

   }  

   }

   #endregion  

   #region YSF

   [WebMethod]

   public DataSet GetProcedureYSF(string strp_lsh,string strp_YKZJE,string strp_CSDWDM,string strp_YKSH,out string strp_zt,out string strp_errordesc)

   {  

   string strDBConnection = "";

   strDBConnection = System.Configuration.ConfigurationSettings.AppSettings["ConnDBString"];

   OleDbConnection oleConn = new OleDbConnection(strDBConnection);

   oleConn.Open();

   OleDbCommand oleComm = new OleDbCommand("SFXT.SP_SF_BANK_YSF",oleConn);//调用存储过程的方法

   oleComm.CommandType = CommandType.StoredProcedure;//存储过程名称

   try

   {
  

   //in参数

   oleComm.Parameters.Add(new OleDbParameter("p_lsh",OleDbType.VarChar,50)).Value = strp_lsh;

   oleComm.Parameters.Add(new OleDbParameter("p_YKZJE",OleDbType.VarChar,50)).Value = strp_YKZJE;

   oleComm.Parameters.Add(new OleDbParameter("p_CSDWDM",OleDbType.VarChar,50)).Value = strp_CSDWDM;

   oleComm.Parameters.Add(new OleDbParameter("p_YKSH",OleDbType.VarChar,50)).Value = strp_YKSH;  

   //out参数

   oleComm.Parameters.Add(new OleDbParameter("p_zt",OleDbType.VarChar,50));

   oleComm.Parameters["p_zt"].Direction = ParameterDirection.Output;

   oleComm.Parameters.Add(new OleDbParameter("p_errordesc",OleDbType.VarChar,50));

   oleComm.Parameters["p_errordesc"].Direction = ParameterDirection.Output;  

   oleComm.ExecuteNonQuery();//执行存储过程  

   //赋值

   strp_zt = oleComm.Parameters["p_zt"].Value.ToString();

   strp_errordesc = oleComm.Parameters["p_errordesc"].Value.ToString();  

   string str1 = oleComm.Parameters["p_zt"].Value.ToString();

   string str2 = oleComm.Parameters["p_errordesc"].Value.ToString();  

   DataSet ds = new DataSet();  

   DataTable table1 = new DataTable();

   ds.Tables.Add(table1);  

   ds.Tables[0].Columns.Add("p_zt");

   ds.Tables[0].Columns.Add("p_errordesc");  

   DataRow dr = ds.Tables[0].NewRow();

   dr[0] = str1;

   dr[1] = str2;  

   ds.Tables[0].Rows.Add(dr);  

   return ds;  

   }

   catch(Exception)

   {

   strp_zt = "";

   strp_errordesc = "";

   return null;

   }

   finally

   {

   oleConn.Close();

   oleConn.Dispose();

   }

   }  

   #endregion

   }

  }收藏 http://www.qqread.com/csharp/j752993000.html 更多文章 更多内容请看存储过程网络存储—光纤通道服务器存储专栏专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
较早的文章:用ADO.NET管理数据库

较新的文章:Visual C#网络编程之TCP
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章