15/04/2009, 05:11
|
| | | Fecha de Ingreso: junio-2008 Ubicación: Córdoba (España)
Mensajes: 111
Antigüedad: 16 años, 5 meses Puntos: 2 | |
Respuesta: Assql Solucionado:
Código:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:assql="com.maclema.mysql.mxml.*"
layout="absolute"
creationComplete="onCreationComplete()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.AsyncResponder;
import mx.collections.ArrayCollection;
import com.maclema.mysql.ResultSet;
import com.maclema.util.ResultsUtil;
import com.maclema.mysql.events.MySqlEvent;
import com.maclema.mysql.MySqlToken;
import com.maclema.mysql.Statement;
import com.maclema.mysql.Connection;
private var con:Connection;
private function onCreationComplete():void {
con = new Connection("localhost", 3306, "root", "root", "jwc");
con.addEventListener(Event.CONNECT, handleConnected);
con.connect();
}
private function handleConnected(e:Event):void {
var st:Statement = con.createStatement();
//turn on results streaming
st.streamResults = true;
//dispatch new rows event every 500 new rows
st.streamingInterval = 50;
//execute a query
var token:MySqlToken = st.executeQuery("SELECT * FROM productos");
//listen for our result set columns
token.addEventListener(MySqlEvent.COLUMNDATA, function(e:MySqlEvent):void {
grid.columns = ResultsUtil.getDataGridColumns( e.resultSet );
grid.dataProvider = new ArrayCollection();
});
//listen for new rows
token.addEventListener(MySqlEvent.ROWDATA, function(e:MySqlEvent):void {
addNewRows(e.resultSet);
});
//add a responder
token.addResponder(new AsyncResponder(
function(data:Object, token:Object):void {
//call add new rows again to ensure we have all the rows
addNewRows(ResultSet(data));
},
function(info:Object, token:Object):void {
Alert.show("Error: " + info);
},
token
));
}
private function insertar(e:Event):void {
var st:Statement = con.createStatement();
st.executeQuery("INSERT INTO `productos` (`Nombre`,`Descripcion`,`Precio`,`IdCategorias`,`imagen`,`idSubcategoria`,`grabado`) VALUES ('x','x','1','1','x','1','0')");
handleConnected(e);
}
private function addNewRows(rs:ResultSet):void {
//get our data provider
var dp:ArrayCollection = grid.dataProvider as ArrayCollection;
//get the collection of new rows
var newRows:ArrayCollection = rs.getRows(false, dp.length, (rs.size()-dp.length));
//concat our current source, and our new rows source
dp.source = dp.source.concat( newRows.source );
//refresh our data provider
dp.refresh();
}
]]>
</mx:Script>
<mx:DataGrid id="grid" left="10" right="10" top="50" bottom="10" />
<mx:Button label="Insertar" click="{insertar(event)}" left="10" top="20"/>
</mx:WindowedApplication>
la libreria necesaria la podeis descargar de aqui yo uso la 2.7, espero os sirva de ayuda lo lo he encontrado bastante util ya que nos permite conectar a una base de datos mysql sin necesidad de php. |