flex3功能没有返回正确的字符串
-
19-08-2019 - |
题
我尝试从方法返回我的脚本标签中的字符串值,但它总是返回一个对象,我不能在字符串值获得。
下面是代码:
我检索的对象从一个web服务调用返回;;
private function getNameResults(e:ResultEvent):String{
var name:Array = new Array(e.result);
var site:String = site_names[0].toString();
Alert.show("site - " +site);
return site;
}
警报打印出了名的,但当我尝试使用我的下一个方法的值(它调用它调用getNameResults Web服务),我得到的对象变量
private function getInfo(roomName:String):String{
var site:String =userRequest.getRoomZoneInfo(roomName);
return site;
}
然而这里所返回的值是[对象的AsyncToken]
任何想法?
解决方案
您正在设置getRoomZoneInfo()
到变址的结果,但你是铸造它作为一个字符串。 getRoomZoneInfo
正在恢复的对象,并且因为你是粘在变量是一个字符串它像对象,其产生的[对象.toString()
]关于调用AsyncToken
。
基本上如果getRoomZoneInfo
是一个Web服务调用,你不能让你在这里寻找的信息,你必须等待,直到结果回来,让你正在寻找那里的字符串。有意义吗?
其他提示
您的getInfo()方法被调用不getNameResults()。它调用的getRoomZoneInfo()。我不知道这个方法做什么,但我猜它返回一个对象,而不是字符串。
我m到处[ObjectAsyncToken
]在可变的,而不是字符串,因为我从检索数据库中的数据
private function init():void
{
ro.initView();
var a:String=String(ro.getID());
}
数据库功能:
public void initView()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:alarmdsn"," "," ");
Statement s = conn.createStatement();
ResultSet r = s.executeQuery("select * from alarm");
while(r.next()) {
a = r.getString(1);
}
}
catch(Exception e) {}
}
public String getID() {
return a;
}
不隶属于 StackOverflow