Foros del Web » Creando para Internet » Flash y Actionscript »

Problema para hacer 2 funciones en flex

Estas en el tema de Problema para hacer 2 funciones en flex en el foro de Flash y Actionscript en Foros del Web. amigos de foros del web me dirijo a ustedes para recibir una orientación acerca de mi duda estoy haciendo un proyecto en flex con java ...
  #1 (permalink)  
Antiguo 14/05/2009, 14:35
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta Problema para hacer 2 funciones en flex

amigos de foros del web me dirijo a ustedes para recibir una orientación acerca de mi duda estoy haciendo un proyecto en flex con java y Sql Server 2005 con lo cual mi problema es el siguiente utilizando flex y conectándome a WebOrb con la siguiente función:

public function CONEXION():void{
objeto_remoto = new RemoteObject("GenericDestination");
objeto_remoto.source = "dbcom.Main";
}

Esta es mi función de acción con la cual ejecuto consultas SQL , bien parar esta función tengo que tener una función donde recibo el resultado

public function SERVER_SQL(comando:String,funcion:Function):void{
CONEXION();
objeto_remoto.sql(sql_server,comando);
objeto_remoto.sql.addEventListener("result", respuesta);
}

Esta es la función de respuesta donde obtengo el resultado de mi consulta
public virtual function respuesta(event:ResultEvent):void{
var Str:Array = event.result as Array;
}

Todo funciona bien pero quisiera saber si es posible tener estas dos funciones en una para que al momento de que ejecute una consulta pueda devolverme la respuesta como se hace en c++ o en java o php por qué e consultados varios libros y ejemplos en internet y todos utilizan dos funciones pero hasta a hora incluso en los ejemplos de adobe no he visto un ejemplo donde pueda englobar la petición y respuesta en una sola función.

lo que quiero hacer es esto claro si me dejara el flex hacerlo pero no me deja aunque espero que exista una forma de poderlo hacer.

public function SERVER_SQL(comando:String):Array{
CONEXION();
var respuesta:Array = objeto_remoto.sql(sql_server,comando);
return respuesta;
}

para poderla utilizar asi:

var res:Array = SERVER_SQL("insert into usuarios values (1,'Moises')");

if (res[0].toString() == "S"){
Alert.show('todo esta bonito');
}
sin mas por el momento les agradecería su aportación.

Última edición por juan_luis_gomez; 15/05/2009 a las 08:30
  #2 (permalink)  
Antiguo 16/05/2009, 18:29
Avatar de carlxime  
Fecha de Ingreso: marzo-2007
Ubicación: México
Mensajes: 180
Antigüedad: 17 años, 8 meses
Puntos: 6
Respuesta: Problema para hacer 2 funciones en flex

Hola juan_luis_rodriguez,

Yo utilizo un método distinto para hacer conultas usando PHP y MySQL y también me chocaba el tener que hacer dos funciones: uno para el obtener el resultado y otro por si hubo error. Sin embargo pude ahorrarme esos métodos utilizando try y catch, espero que te funcione a ti también.

Código actionscript:
Ver original
  1. try {
  2.     queryStatement.execute(); /* Esta sentencia es la que ejecuta el query, supongo que en tu caso tendrías que meter aquí tu función objeto_remoto.sql(sql_server,comando); */
  3.     var result:SQLResult = queryStatement.getResult();
  4.     if(result.data != null) {
  5.         var numResults:int = result.data.length;
  6.         for (var i:int = 0; i <numResults; i++)
  7.         {
  8.             var row:Object = result.data[i];
  9.             row.nombre;                
  10.         }
  11.         stream.writeUTFBytes(htmlElements.getEndTags());
  12.     }
  13.     else {
  14.         stream.writeUTFBytes("No se encontraron resultados");
  15.     }
  16.     stream.close();
  17. }
  18. catch(error:SQLError) {
  19.     trace("Error: " + error.toString());
  20. }

Saludos.
__________________
http://codigometropoli.com
  #3 (permalink)  
Antiguo 18/05/2009, 09:14
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problema para hacer 2 funciones en flex

Gracias por la respuesta compañeros y cuando termine publicare el código que tengo para que le sirva a otros usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:04.