Web Services调用存储过程简单实例
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架