FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Eliminar registro
Pura vida foro!
Trabajo con Firebird Tabla Aquiler Campos Id_socio, id_pelicula, nombre_pelicula (No tienen llave primaria) Tengo un Edti(Id) Y un Boton(Eliminar) en este botón tengo el siguiente código if not Modulo.IBTransaction1.InTransaction then Modulo.IBTransaction1.StartTransaction; with Modulo.IBAlquiler do begin Close; SelectSQL.Clear; SelectSQL.Add('SELECT * FROM Alquiler '); SelectSQL.Add('Where ID_pelicula = :car'); ParamByName('car').AsTrimString := id.Text; open; Delete; Refresh; Close; Modulo.IBTransaction1.CommitRetaining; end; La cosa es que me elimina todo lo que tengo en la tabla y no solo el registro que quiero. Alguien me puede decir que estoy haciendo mal o algún comentario que me ayude hacer que funcione... Se los agradezco Mil millones de gracias |
#2
|
||||
|
||||
Hola
Saludos |
#3
|
||||
|
||||
Yo no uso FB, pero como lo haces es válido siempre que las consultas sean editables. El problema puede ser que no tengas mas registros en la tabla. LA ventaja de hacerlo como lo haces es que si tienes ligada la consulta a un grid o algo similar éstos se actualizan reflejando el registro borrado.
Como lo hace Caral también funciona pero tendrás que refrescar cualquier componente enlazado a la tabla.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#4
|
||||
|
||||
Hola
Estas demasiado exigente maestro. Bueno, cambiemos ExecSQL por Open Nos exigen demasiado a los novatos Saludos |
#5
|
||||
|
||||
Hola Zakio14 como estas "alimentando" el IBdataSet (IBAlquiler) en tiempo de ejecucion debes poner también las otras sentencias SQL, es decir, te falta deleSQL, updateSQL y refreshSQL (que peude ser el mismo selectSQL), algo así como lo siguiente:
o mas Fácil aun, en tiempo de desarrollo solo pones el query que tu mismo hiciste en la propiedad selectSQL (de IBAlquiler) en el inspector de objetos, luego en el le das click derecho al componente visual y le seleccionas DataSet Editor y ahi das click en get Table Files, luego en key FIleds seleccionas ID_pelicula y en "Update Fields" seleccionas tod, al final das click en el boton generate SQL y ya.... Nota: Personalmente creo que es una mala practica ir poniendo querys en cualquier parte del código, prefiero llenar el modulo de componentes IBDataSet, IBQuery y IBScrips con sus correspondientes e inmutables querys donde solo mando parámetros, mas nunca (valga la redundancia) en otra unidad uso xxxSQL.add(´el cambio que sea´), ya que a la hora de mantener en el futuro dicho código será en extremo desgastante.
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H" |
#6
|
||||
|
||||
Pura vida foristas!
Gracias por sus valiosas respuestas!! Gracias CARAL por tu respuesta tan acertada y gracias RONPABLO por ese comentario que tomare mucho en cuenta mil millones de gracias!!!!!!!!! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Eliminar Registro (Validar) | UTECYBER | OOP | 8 | 29-10-2008 18:15:13 |
Eliminar registro de BD desde PHP | fide | PHP | 5 | 31-01-2008 14:01:44 |
Eliminar registro de un .mdb con ADO | ¥0n1 | Conexión con bases de datos | 2 | 07-11-2007 11:29:12 |
Eliminar registro de Windows | verm83 | Varios | 1 | 11-04-2004 22:27:39 |
Problemas al eliminar un registro en Firebird | IcebergDelphi | Firebird e Interbase | 0 | 15-02-2004 20:55:34 |
|