Primero te agradezco la paciencia y el tiempo para responder y enseñarme, ninguna explicación está demás.... ahora si te molesto de nuevo con una nueva consulta...
Traté de readaptar lo que me pusiste respecto del dataprovider, la búsqueda la sigue haciendo bien, pero sigo sin poder eliminar el registro que selecciono, no encuentro el error...
Te copio el código como lo tengo...
Código:
private function buscarDatos():void
{
var selectStmt:SQLStatement = new SQLStatement();
selectStmt.sqlConnection = conn;
var sql:String =
"SELECT * FROM clientes WHERE (nombre = :search)";
selectStmt.parameters[":search"] = busqueda.text;
selectStmt.text = sql;
try {
query.execute();
var result:SQLResult = query.getResult();
var numResults:int = result.data.length;
for (var i:int = 0; i < numResults; i++)
{
var row:Object = result.data[i];
data_provider.push({clientes:row.nombre, id_registro:row.id});
}
registros_dg.dataProvider = data_provider;
}
catch(error:SQLError) {
trace("SQLError");
}
selectStmt.addEventListener(SQLEvent.RESULT, selectResult);
selectStmt.addEventListener(SQLErrorEvent.ERROR, selectError);
selectStmt.execute();
function selectResult(event:SQLEvent):void
{
selectStmt.removeEventListener(SQLEvent.RESULT, selectResult);
selectStmt.removeEventListener(SQLErrorEvent.ERROR, selectError);
var result:SQLResult = selectStmt.getResult();
registros_dg.dataProvider = result.data;
}
function selectError(event:SQLErrorEvent):void
{
Alert.show("Error message:", event.error.message);
Alert.show("Details:", event.error.details);
}
}
function createListener(event:SQLEvent):void
{
registros_dg.addEventListener(ListEvent.CHANGE, dgChangeHandler);
}
private function dgChangeHandler(event:ListEvent):void
{
var id_seleccion = event.target.selectedItem.id;
var nombre_sel:String = event.target.selectedItem.nombre;
var direccion_sel:String = event.target.selectedItem.direccion;
var telefono_sel:String = event.target.selectedItem.telefono;
var email_sel:String = event.target.selectedItem.email;
var deleteManager:SQLStatement = new SQLStatement();
deleteManager.sqlConnection = conn;
deleteManager.text = "DELETE FROM clientes WHERE id = :id";
deleteManager.parameters[":id"] = id_seleccion;
deleteManager.execute();
}
]]>
</mx:Script>
<mx:Panel title="Registro de Usuarios" height="323" width="453" id="panel1">
<mx:TextInput id="busqueda"/>
<mx:Button label="Buscar" click="buscarDatos()" id="button1"/>
<mx:DataGrid id="registros_dg" dataProvider="{id_registro}" width="100%" height="191" y="50" click="dgChangeHandler()">
<mx:columns>
<mx:DataGridColumn headerText="NOMBRE" dataField="nombre" />
<mx:DataGridColumn headerText="DIRECCION" dataField="direccion"/>
<mx:DataGridColumn headerText="TELEFONO" dataField="telefono"/>
<mx:DataGridColumn headerText="E-MAIL" dataField="email"/>
</mx:columns>
</mx:DataGrid>
</mx:Panel>
</mx:WindowedApplication>