asp调用c#写的Web Service接口时,当返回记录集时,在asp端该怎么实现,最好给出代码。

解决方案 »

  1.   

    DataSet是.NET才有的类型,而且结构非常复杂,建议你将Web Service改为返回ArrayList
      

  2.   

    upto(阿球) RapidTier <% N-Tier Code Generator %>)  YES YES
      

  3.   

    直接当参数就可以了
    [WebMethod]
    public bool Select_Test(ref DataSet DSResult, string p_strSQL, string p_strTableName)
    { try
    {
    CS.Open(); SqlDataAdapter myCommand = new SqlDataAdapter (p_strSQL, CS);

    myCommand.Fill(DSResult, p_strTableName); CS.Close();
    return true;
    }
    catch(Exception)
    {
    CS.Close();
    return false;
    }
    }
      

  4.   

    可能我说的不是很清楚,
    服务器端的代码(c#)我能实现,问题是在客户端(asp)怎么实现。
    当客户端取记录集时,代码怎么写。问题是客户端,我不知道如何实现。
      

  5.   

    to conan19771130(失业中(无锡的有吗)) :
    现在做二次开发,在原项目增加一些功能,客户要求用asp
      

  6.   

    如果要自己解析返回的XML的话可以参考:
    http://www.tongyi.net/article/20031110/200311103810.shtml
      

  7.   

    可以返回xml 然后自己拼装成ado recordset asp就可以用
      

  8.   

    如果你系统是2000或2000以下版本做服务器,
    则首先你得先安装soap2.0以上才能使asp支持webservice调用
    最简单方法:
    SET objSoapClient = Server.CreateObject("MSSOAP.SoapClient30")
    '这里我安装的是3.0所以用MSSOAP.SoapClient30
    objSoapClient.ClientProperty("ServerHTTPRequest") = True
    Call objSoapClient.mssoapinit("http://127.0.0.1/common/sysManager.asmx?WSDL")
    kk=objSoapClient.getRole("参数一","参数二")
    '这里kk为返回的参数,getrole是webservice上函数以上我是在2000系统上测试通过的,应该很明白了吧!
      

  9.   

    不返回DataSet类型Asp很难接收这样的3维数据。(Asp里的ds是2维的)
      

  10.   

    to cndsn(磐石):
    我问的是对返回的记录集怎么写,你写的例子我是知道的。