您的位置:首页 > 编程语言 > ASP

VFP如何调用ASP.NET Web服务中的DataSet

2010-01-27 17:55 681 查看
一、ASP.NET Web Service代码
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data.SqlClient;

namespace WebService1
{
/// <summary>
/// Service1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class Service1 : System.Web.Services.WebService
{

[WebMethod]
public DataTable GetProducts(int CategoryID)
{
SqlConnection sqlconn = new SqlConnection("server=.;uid=sa;database=NorthWind");
sqlconn.Open();
SqlDataAdapter sda = new SqlDataAdapter("select * from Products where CategoryID=" + CategoryID, sqlconn);
DataSet ds = new DataSet();
sda.Fill(ds,"temp");
sqlconn.Close();
return ds.Tables["temp"];
}
}
}

二、测试WEB服务可用后VFP怎么将其转换成临时表
* 调用Web服务部分

local loSoap,lcXmlData

loSoap = Createobject("MSSOAP.soapclient30")
loSoap.MSSoapInit("http://localhost:3392/Service1.asmx?wsdl") && 引用Web服务的地址
lcXmlData = loSoap.GetProducts(1) && xml对象
* 将xml转换成临时表
loXmlAdapter = createobject("XMLAdapter")
loXmlAdapter.loadXml(lcXmlData.context.XML) && xml的内容,这里一直不知道怎么调用,今天终于找到了。
if used('products')
use in products
endif
loXmlAdapter.tables(1).alias = "products"
loXmlAdapter.tables(1).tocursor()
browse
&& 呵呵可以看到了吧! By feiyafei2008 qq:459838553
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: