flexはwebserviceのカスタムクラスを呼び出す方法です。
4020 ワード
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 id="myweb" 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>