当前位置 博文首页 > flex调用webservice中的自定义类的方法

    flex调用webservice中的自定义类的方法

    作者:admin 时间:2021-08-31 18:51

    复制代码 代码如下:

    public class ReturnResult
    {
    public int curIndex { get; set; }
    public DataTable idxList { get; set; }
    }
    //测试数据库连接
    [WebMethod(Description = "!!!测试数据库连接,链接字符串在web.config中")]
    public bool conectDB()
    {
    strCon = ConfigurationSettings.AppSettings["sqlConDuke"];
    conn = new SqlConnection(strCon);
    try
    {
    conn.Open();
    return true;
    }
    catch (Exception)
    {
    return false;
    }
    finally
    {
    conn.Close();
    }
    }

    复制代码 代码如下:

    [WebMethod(Description = "根据 <b>照片名</b> 获得详细数据(DataTable),strTb,eg:PanView;strImgName,eg:20131019072740-0000150")]
    public DataTable getInfoByImgName(string strTb, string strImgName)
    {
    bool ifCon = conectDB();
    if (ifCon)
    {
    string sql_BfCar = "SELECT * FROM dbo." + strTb + " where ImageName LIKE '%" + strImgName + "%'";
    da = new SqlDataAdapter(sql_BfCar, conn);
    myds = new DataSet();
    da.Fill(myds);
    return myds.Tables[0];
    }
    else
    {
    return null;
    }
    }


    [WebMethod(Description = "根据 <b>照片名</b> 获得所在Link的所有数据(ReturnResult),strTb,eg:PanView;strImgName,eg:20131019072740-0000150")]
    public ReturnResult getLinkDTByImgName(string strTb, string strImgName)
    {
    ReturnResult returnResult = new ReturnResult();
    bool ifCon = conectDB();
    if (ifCon)
    {
    returnResult.curIndex = Convert.ToInt32(getInfoByImgName(strTb, strImgName).Rows[0][0]);
    string strLinkGuid = getInfoByImgName(strTb, strImgName).Rows[0][1].ToString();
    string sql_BfCar = "SELECT * FROM dbo." + strTb + " where LinkGuid LIKE '%" + strLinkGuid + "%'";
    da = new SqlDataAdapter(sql_BfCar, conn);
    myds = new DataSet();
    da.Fill(myds);
    returnResult.idxList = myds.Tables[0];
    return returnResult;
    }
    else
    {
    return null;
    }
    }

    Flex代码:
    复制代码 代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="application1_creationCompleteHandler(event)">
    <fx:Script>
    <![CDATA[
    import mx.collections.ArrayCollection;
    import mx.controls.Alert;
    import mx.events.FlexEvent;
    import mx.rpc.events.FaultEvent;
    import mx.rpc.events.ResultEvent;

    public var arr:ArrayCollection=new ArrayCollection();
    public var aaa:String=new String();

    protected function webservice1_faultHandler(event:FaultEvent):void
    {
    Alert.show(event.fault.toString());
    }
    protected function getLinkDTByImgNameHandler(event:ResultEvent):void
    {
    // aaa=this.myweb.getLinkDTByImgName.lastResult.curIndex;
    // arr=this.myweb.getLinkDTByImgName.lastResult.idxList.Tables.Table.Rows;

    aaa=event.result.curIndex;
    arr=event.result.idxList.Tables.Table.Rows;
    Alert.show(aaa+" "+arr.length.toString());
    }


    protected function application1_creationCompleteHandler(event:FlexEvent):void
    {
    myweb.getLinkDTByImgName("PanView","20131019072740-0000150");
    }

    ]]>
    </fx:Script>
    <fx:Declarations>
    <!-- 将非可视元素(例如服务、值对象)放在此处 -->
    <s:WebService wsdl="http://10.19.1.55/serverPano/WebServiceDuke.asmx?WSDL" fault="webservice1_faultHandler(event)">
    <s:operation name="getLinkDTByImgName" result="getLinkDTByImgNameHandler(event)"></s:operation>
    </s:WebService>
    </fx:Declarations>
    </s:Application>
    jsjbwy
    下一篇:没有了