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

Creo que hay un error en el orden del código, quedaría así:

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;
				
  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();
      for (var i:int = 0; i < result.data.length; i++)
      {
            var row:Object = result.data[i];
            data_provider.push({id_registro:row.id, nombre:row.nombre, direccion:row.direccion, email:row.email});					              
      }
      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_registro;
	       
   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" 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>
Las palabras que están en negritas deberás cambiarlas de acuerdo al nombre de las columnas de tu tabla Clientes.

Le quité el detaprovider en el tag del DataGrid, no sé si de inicio muestres unos datos y cuando hacen la búsqueda se refresque el DataGrid, en ese caso, deberás crear el dataProvider de la misma forma en que lo estas haciendo en la función selectResult.

Saludos.