您的位置:首页 > 其它

WebServices调用存储过程

2006-04-06 15:50 169 查看
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
{
/// <summary>
/// Service1 的摘要说明。
/// </summary>
public class Service1 : System.Web.Services.WebService
{
public Service1()
{
//CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的
InitializeComponent();
}

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

//Web 服务设计器所必需的
private IContainer components = null;

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{

}

/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
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
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: