Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/05/2008, 15:15
Avatar de carlxime
carlxime
 
Fecha de Ingreso: marzo-2007
Ubicación: México
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 6
Re: Como eliminar registros de una tabla

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.