算不上是原创,而是根据别人的结合自己修改的,学习之用
webService的方法
[WebMethod]
public DataTable func()
{
String strconn = "Server=本人的ip或者是.;database=XC0505;user=sa;password=123";
sqlConnection cn = new sqlConnection(strconn);
//cn.open();
//sqlCommand cm = new sqlCommand("select * from TRUEMAP_CROSSING",cn);
//sqlDataReader dr = cm.ExecuteReader();
//dg.DataSource = dr; 如果只是在aspx中显示,这样就行,跟Flex中绑定不同
//dg.DataBind();
//cn.Close();
// sqlDataAdapter sda = new sqlDataAdapter("select * from TRUEMAP_CROSSING",cn);
//DataSet ds = new DataSet();
//sda.Fill(ds);
//DataTable table = ds.Tables[0];
//dg.DataSource = table;
//dg.DataBind(); //如果只是在aspx中显示这样也行
sqlDataAdapter sda = new sqlDataAdapter("select * from TRUEMAP_CROSSING",cn); //这句以后是将查询的数据作为一个表来返回,c#的跟Flex是有区别的
DataSet ds = new DataSet();
sda.Fill(ds);
DataTable table = ds.Tables[0];
return table;
}
Flex端的代码:
public function init():void{
// myWebservice.addEventListener(ResultEvent.RESULT,onSuccess);
// myWebservice.addEventListener(FaultEvent.FAULT,onFault);
this.myWebservice.func(); //func为服务端方法名称
}
public function onSuccess(event:ResultEvent):void //调用成功执行的方法
{
/* dg.dataProvider=this.myWebservice.func.lastResult.Tables.Table.Rows; */ //这句也可以写在下面
}
public function onDefault(event:FaultEvent):void
{
Alert.show("Error");
}
]]>
</fx:Script>
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:WebService id="myWebservice" wsdl=" http://xxx/gaga/Service1.asmx?WSDL"> </s:WebService> </fx:Declarations> <mx:DataGrid id="dg" width="100%" height="100%" dataProvider="{this.myWebservice.func.lastResult.Tables.Table.Rows}"> <mx:columns> <mx:DataGridColumn headerText="LinkGuid" datafield="LinkGuid"/> //要显示的字段,按列显示 <mx:DataGridColumn headerText="NodeGuid" datafield="NodeGuid"/> <mx:DataGridColumn headerText="ToWard" datafield="ToWard"/> <mx:DataGridColumn headerText="RoadName" datafield="RoadName"/> </mx:columns> </mx:DataGrid>