![]() |
algo basico pero no me sale
Hola a todos.
Necesitaria el empujon inicial para un form muy básico. Estoy migrando mis aplicaciones BDE a Interbase. Cabe aclarar que soy muy novato en Interbase. Basicamente tengo un form con una tabla, un pagecontrol que muestra los campos de la tabla el la pagina2, un dbGrid que muestra la tabla y una barra de botones en donde el usuario selecciona la tarea a realizar: Agregar un registro: Tabla1.Insert; Pagecontrol.ActivePage := Page2 Modificar un registro: Tabla1.edit; idem anterior Guardar cambios: Tabla1.Post; Cancelar Cambios: Tabla1.Cancel Borrar registro: Tabla1.delete; Como puedo hacer esto mismo en SQL?; he puesto un IBdataset con las sentencias sql que genera automaticamente pero no se como aplicarlas. Cualquier ayuda será muy bienvenida Saludos a Todos |
Primero que nada debes tener lo siguiente en tu Formulario :
:( - Componente TIBDatabase (Declaración de la base de datos de Interbase) - Componente TIBTransaction (declaración de la transacción de los datos) - Componente TIBQuery (Declaración de las sentencias a ejecutar ) llamaremos a : - TIBDatabase (IBD_Compras) - TIBTransaction (IBT_Compras) - TIBQuery (IBQ_Compras ) Con este codigo podras eliminar un registro de tu tabla Código:
// La idea del Try Except,, es que no de error si quieres borrar registros y la base este vaciaCódigo:
If MessageDlg('Seguro de Agregar este Centro de Costos ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then |
Tambien te sugiero lo siguiente ( al menos yo lo utilizo asi.. y me funciona super bien...)
Declarar la base de datos en tu Form principal (Puede ser el menú....) en los form que deseas trabajar, declaras lo siguiente: por ejemplo un Form para agregar clientes.... - declaras 2 transacciones - declaras 2 Querys la idea es que las transacciones esten unidas a la base que declarastes en el menu principal... entonces haces lo siguiente : IBT_Select (primera transaccion) IBQ_Select (primer Query) IBT_Edit (Segunda transaccion) IBQ_Edit (Segundo Query).... Con esto haces más rapido el acceso a los datos.... por ejemplo... cuando habres el form.. activas el IBQ_Select de la siguiente forma : Código:
IBQ_Select.Close;Código:
IBQ_Edit.SQL.Clear; |
Ok
Gracias!!!
Me has aclarado muchas dudas... Saludos Fita |
Funciona, pero tengo otra pregunta
Con tus ejemplos hice una pequeña aplicación y anda de maravilla; altas, bajas, modificaciones, pero tengo una duda: Con un objeto Ttable (BDE) puedes arrastrar un field al form y ya tienes acceso a los datos. Basta con hacer un table1.edit y listo.
Con SQL como edito los datos? suponte un grid que muestra el conjunto de datos, al hacer doble click en una linea del grid debo editar el registro para que el usuario lo modifique. Puedo editar directamente el field del query o debo (como supongo; ya que lo hice practicando tus consejos) mover los datos de dicha fila a objetos Tedit y luego aplicar el update dando a cada param[x] el valor de cada edit.text ? |
Para modificar datos en un DBGrid que este enlazado a un Query.. se deben tener en consideracion los siguientes puntos:
- Para que puedas actualizar los datos debes cambiar la propiedad RequesLive del Query... Query1.RequestLive := True; con esto podras modificar tus datos desde el DBGrid, ahh... y debes dejar desactivar la propiedad ReadOnly del mismo... DBGrid1.ReadOnly := False; La Opcion de mover los datos a campos TEdit tambien es una alternativa, aunque te sugiero que utilices los DBEdit :p |
| La franja horaria es GMT +2. Ahora son las 09:18:17. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi