Hola Maru77,
El query para eliminar registros deben ser de la siguiente forma:
Código:
deleteManager.text = "DELETE FROM clientes WHERE nombre= :nombre AND direccion = :direccion";
Si necesitas saber toda la información sobre cómo hacerlo con el registro seleccionado del datagrid, aquí va:
---------------------------------------------------------------------------------------
Primero le tienes que poner un listener al datagrid:
Código:
import mx.events.ListEvent;
// Supongamos que tu datagrid se llame registros_dg
registros_dg.addEventListener(ListEvent.CHANGE, dgChangeHandler);
private function dgChangeHandler(event:ListEvent):void {
// Aquí van a ir nuestras acciones para borrar el registro
}
Segundo, dentro del dataProvider de tu datagrid deberás tener el id del registro, ya que es mucho más fácil, seguro y confiable que ponerle el WHERE con los datos. Suponiendo que en tu dataProvider hayas puesto como id del elemento
id_registro:
Código:
private function dgChangeHandler(event:ListEvent):void {
id_seleccion = event.target.selectedItem.id_registro;
// Si quieres hacerlo por nombre, direccion, etc. puedes obtener estos datos del registro seleccionado de la siguiente forma:
var nombre_sel:String = event.target.selectedItem.nombre;
var direccion_sel:String = event.target.selectedItem.direccion;
...
// Ya tenemos el id del registro que fue seleccionado y que queremos borrar
var deleteManager:SQLStatement = new SQLStatement();
deleteManager.sqlConnection = conn;
deleteManager.text = "DELETE FROM clientes WHERE INTNUMCLIENTE = :id";
deleteManager.parameters[":id"] = id_seleccion;
deleteManager.execute();
// Si lo quieres hacer de la otra forma sería:
var deleteManager:SQLStatement = new SQLStatement();
deleteManager.sqlConnection = conn;
deleteManager.text = "DELETE FROM clientes WHERE nombre= :nombre AND direccion = :direccion";
deleteManager.parameters[":nombre"] = nombre_sel;
deleteManager.parameters[":direccion"] = direccion_sel;
deleteManager.execute();
}
Saludos.