利用微软WebService技术实现远程数据库存取李凌宇 |
| 01-9-7 下午 01:18:14 |
|
| str.Append(" | "); |
| str.Append("选号费 |
| } |
| str.Append(" |
| while(d.Read()) |
| { |
| str.Append(" | "); |
| str.Append(d["code"].ToString()); |
| str.Append(" | "); |
| str.Append(d["cost"].ToString()); |
| str.Append(" |
| if((d["status"].ToString().TrimEnd())=="已预定") |
| { |
| str.Append(" | "); |
| str.Append(""); |
| str.Append(" |
| } |
| else |
| { |
| str.Append(" | "); |
| str.Append(""); |
| str.Append(" |
| } |
| j++; |
| if(j%3==0) |
| { |
| str.Append(" |
| } |
| } |
| d.Close(); |
| con.Close(); |
| str.Append(" |
");
| if(pagenow==1) |
| { |
| str.Append("首页 上一页 "); |
| } |
| else |
| { |
| str.Append("首页 "); |
| str.Append("上一页 "); |
| } |
| if(pagenow==page) |
| { |
| str.Append("下一页 尾页"); |
| } |
| else |
| { |
| str.Append("下一页 尾页"); |
| } |
| str.Append(" 页次:"); |
| str.Append(pagenow); |
| str.Append("/"); |
| str.Append(page); |
| str.Append("页"); |
| str.Append(" 共"); |
| str.Append(recordcount); |
| str.Append("个号码 39个号码/页"); |
| return str.ToString(); |
| } |
| private SqlDataReader GetCode(int pagenow,int cityid,out int recordcount) |
| { |
| SqlDataReader dr=null; |
| con=new SqlConnection("server=localhost;database=yitong;uid=sa;pwd="); |
| SqlCommand cmd=new SqlCommand("fenye",con); |
| cmd.CommandType=CommandType.StoredProcedure; |
| cmd.Parameters.Add(new SqlParameter("@pagenow",SqlDbType.Int)); |
| cmd.Parameters["@pagenow"].Value=pagenow;//目前所在页面 |
| cmd.Parameters.Add(new SqlParameter("@pagesize",SqlDbType.Int)); |
| cmd.Parameters["@pagesize"].Value=39;//每页要显示的号码数 |
| cmd.Parameters.Add(new SqlParameter("@cityid",SqlDbType.Int)); |
| cmd.Parameters["@cityid"].Value=cityid;//城市代码 |
| cmd.Parameters.Add(new SqlParameter("@code",SqlDbType.Char,3)); |
| cmd.Parameters["@code"].Value="130";//只搜索联通的手机号码 |
| SqlParameter q; |
| q=cmd.Parameters.Add(new SqlParameter("@recordcount",SqlDbType.Int)); |
| q.Direction=ParameterDirection.Output; |
| con.Open(); |
| cmd.ExecuteNonQuery(); |
| recordcount=(int)cmd.Parameters["@recordcount"].Value;//返回的号码总数 |
| dr=cmd.ExecuteReader(); |
| return dr; |
| } |
| } |
| } |
| 3. 客户端页面存放在B网站上。当客户浏览该网站时,通过该页面可以浏览、订购A网站数据库中号码。客户端页面使用微软的Webservice Behavior技术调用A上的web服务。WebService Behavior是微软在IE5.0中新增加的一项可以通过页面脚本使用web服务的技术。她使用SOAP协议与web服务通讯,可以动态更新页面的局部,而不刷新整个页面,较之通常使用的整页刷新的方法,它更快也更有效。要使用这项技术,须从微软网站上下载一个webservice.htc组件到客户端页面所在的目录下。 |
| 客户端页面的代码如下: |
| Client.htm |
| 可以看到,webservice behavior可以使一个静态页面通过脚本程序使用web服务,而且不用在客户端建立代理,只要拷贝一个webservice.htc组件就可以了。 |
| 利用Visual Studio.Net,你可以不必了解HTTP、XML、SOAP、WSDL等底层协议,同样能开发和使用Web服务,真得是好爽。 |
| 附图:(这是我在本机调试时显示的页面,供参考) |
|
本文介绍如何使用微软的VisualStudio.Net和WebService技术实现在不同网站间共享同一数据库的方法。以B2B电子商务网站为例,详细说明了创建WebService进行数据库操作的过程及客户端如何调用这些服务。
1158

被折叠的 条评论
为什么被折叠?



