Web Services 主要利用 HTTP 和 SOAP 协议使商业数据在 Web 上传输,SOAP通过 HTTP 调用商业对象执行远程功能调用,Web 用户能够使用 SOAP 和 HTTP通过 Web 调用的方法来调用远程对象.
web services调用存储过程简单实例:仅供学习,简单易懂!SQLHelper调用。
页面代码:
<
body
>
< form id = " form1 " runat = " server " >
< div >
< asp:Button ID = " btnGetResponse " runat = " server " Text = " get response " OnClick = " btnGetResponse_Click " />< br />
< asp:Label ID = " lblShow " runat = " server " ></ asp:Label >
</ div >
</ form >
</ body >
</ html >
< form id = " form1 " runat = " server " >
< div >
< asp:Button ID = " btnGetResponse " runat = " server " Text = " get response " OnClick = " btnGetResponse_Click " />< br />
< asp:Label ID = " lblShow " runat = " server " ></ asp:Label >
</ div >
</ form >
</ body >
</ html >
cs代码:
public
partial
class
WebServiceSample_Default : System.Web.UI.Page
{
protected void Page_Load( object sender, EventArgs e)
{
if ( ! IsPostBack)
{
ViewState[ " number " ] = 1 ;
}
}
protected void btnGetResponse_Click( object sender, EventArgs e)
{
WebService wss = new WebService();
lblShow.Text = wss.ResponseInformation() + " " + ViewState[ " number " ].ToString();
ViewState[ " number " ] = int .Parse(ViewState[ " number " ].ToString()) + 1 ;
}
}
{
protected void Page_Load( object sender, EventArgs e)
{
if ( ! IsPostBack)
{
ViewState[ " number " ] = 1 ;
}
}
protected void btnGetResponse_Click( object sender, EventArgs e)
{
WebService wss = new WebService();
lblShow.Text = wss.ResponseInformation() + " " + ViewState[ " number " ].ToString();
ViewState[ " number " ] = int .Parse(ViewState[ " number " ].ToString()) + 1 ;
}
}
webservice.asmx
<%
@ WebService Language
=
"
C#
"
CodeBehind
=
"
~/App_Code/WebService.cs
"
Class
=
"
WebService
"
%>
WebService.cs代码如下
using
System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using XX.Data;
using System.Data;
using System.Text;
/// <summary>
/// WebService 的摘要说明
/// </summary>
[WebService(Namespace = " http://tempuri.org/ " )]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService
{
public WebService()
{
// 如果使用设计的组件,请取消注释以下行
// InitializeComponent();
}
[WebMethod]
public string HelloWorld()
{
return " Hello World " ;
}
[WebMethod]
public string ResponseInformation()
{
StringBuilder sb = new StringBuilder();
System.Data.SqlClient.SqlParameter para = new System.Data.SqlClient.SqlParameter( " @number " , 10 );
para.Direction = ParameterDirection.Input;
DataSet ds = DBTool.ExecuteDataset(CommandType.StoredProcedure, " GetDataSam " ,para);
if (ds != null && ds.Tables[ 0 ].Rows.Count > 0 )
{
for ( int i = 0 ; i < ds.Tables[ 0 ].Rows.Count; i ++ )
{
if (sb.ToString() == "" )
{
sb.Append(ds.Tables[ 0 ].Rows[ 0 ][ " title " ].ToString());
}
else
{
sb.Append( " <br/> " ).Append(ds.Tables[ 0 ].Rows[i][ " title " ].ToString());
}
}
}
return sb.ToString();
}
}
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using XX.Data;
using System.Data;
using System.Text;
/// <summary>
/// WebService 的摘要说明
/// </summary>
[WebService(Namespace = " http://tempuri.org/ " )]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService
{
public WebService()
{
// 如果使用设计的组件,请取消注释以下行
// InitializeComponent();
}
[WebMethod]
public string HelloWorld()
{
return " Hello World " ;
}
[WebMethod]
public string ResponseInformation()
{
StringBuilder sb = new StringBuilder();
System.Data.SqlClient.SqlParameter para = new System.Data.SqlClient.SqlParameter( " @number " , 10 );
para.Direction = ParameterDirection.Input;
DataSet ds = DBTool.ExecuteDataset(CommandType.StoredProcedure, " GetDataSam " ,para);
if (ds != null && ds.Tables[ 0 ].Rows.Count > 0 )
{
for ( int i = 0 ; i < ds.Tables[ 0 ].Rows.Count; i ++ )
{
if (sb.ToString() == "" )
{
sb.Append(ds.Tables[ 0 ].Rows[ 0 ][ " title " ].ToString());
}
else
{
sb.Append( " <br/> " ).Append(ds.Tables[ 0 ].Rows[i][ " title " ].ToString());
}
}
}
return sb.ToString();
}
}
存储过程依旧是原来那个:
create procedure GetDataSam(
@number int
)
as
begin
declare @str nvarchar( 200 );
set @str = ' select top ' + cast(@number as nvarchar) + ' title from zhq_in_content order by createdate desc ' ;
exec(@str);
end
@number int
)
as
begin
declare @str nvarchar( 200 );
set @str = ' select top ' + cast(@number as nvarchar) + ' title from zhq_in_content order by createdate desc ' ;
exec(@str);
end