FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
Duda DBGrid
Primero que nada quiero agradecer a Club Delphi por este espacio, y saludar a todos los programadores/ moderadores que van a leer este tema.
Paso a explicar mi duda. Tengo un componente DbGrid en un formulario, está asociado con todos los componentes correspondientes a una base de datos en access, mediante un edit, realizo un filtrado, simulando una busqueda en la base por "nombre", hasta ahi va todo perfecto. Mi problema es el siguiente, lo que deseo hacer es que estando posicionado sobre una celda del dbgrid presionando un boton, se borre ese registro. He intentado de varias formas las cuales pondré aquí a continuación. 1- DbGrid1.SelectedRows.Delete; Esto está pésimo. 2- Pensé, ya que hago consultas, borro con las consultas y sucedio otro problema intento tomar lo que dice el dbgrid en un campo (haya sido reducida la lista con el edit o no) de la siguiente manera var nombre:string; Begin nombre:= DBgrid1.Fields[0].asString; ADOQuery1.Close; ADOQuery1.SQL.Text:= 'DELETE * FROM Herramientas WHERE Nombre='+ nombre; ADOQuery1.Open; End; Creo que son burradas lo que estoy haciendo, si alguien me podria explicar como sacar el campo "nombre" de la celda que estoy clickeando, creo que lo podia borrar sin problemas, espero una respuesta, muchas gracias |
#2
|
||||
|
||||
tomar nombre
Ke tal amigo Facu, mira, la dbgrid esta conectada a una tabla o query, (te soy sincero casi no he traabajado con access),
por lo cual no es necesario que hagas tanto busqueda, al darle un clic en cualquier celda, el puntero se coloca en ese registro de tu tabla o de tu query, asi lo unico que tienes que hacer para llamar ese datos que necesitas es: y de ahi lo mandas a donde quieras Saludos ...
__________________
un tipo al cual la sociedad no le tiene el mas mínimo respeto no puede ser presidente.... |
#3
|
||||
|
||||
Hola Kapcomx, gracias por interesarte, y responder.
procedure TForm2.Button1Click(Sender: TObject); begin edit1.text:= DataModule5.ADOQuery1.FieldValues['Nombre']; DataModule5.ADOQuery1.Close; DataModule5.ADOQuery1.SQL.Text:= 'DELETE * from Herramientas WHERE Nombre=' + '"' + Edit1.Text + '"'; DataModule5.ADOQuery1.Open; end; Este es el código. hay algo curioso, lo borra, pero inmediatamente lanza un error que dice: "ADOQuery1: CommandText does not return a result set." |
#4
|
||||
|
||||
Hola Facu.
Por favor cuando incluyas código en tus mensajes, para darles más legibilidad usa los TAG's. Una imágen que explica su uso: . En cuanto al error, probá reemplazando la línea: Por: Cuando realizas consultas que no devuelven un cursor con datos, tales como: INSERT, UPDATE, DELETE, ..., tenés que utilizar ExcecSQL en lugar de Active u Open. Saludos. Pd: Muy bueno tu avatar
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 19-03-2012 a las 20:53:12. |
#5
|
||||
|
||||
Muchas gracias a ambos, problemin solucionado, era eso ExecSQL ahora voy a buscar info para aprender más y que mis consultas sean más precisas y poder ayudar a alguien también alguna vez
|
#6
|
||||
|
||||
Yo al principio y aún de cuando en cuando uso el CREADORSQL, qu es para firebird, te permite de una manera grafíca, hacer más del 50% de tu consulta y es muy facil de manejar el resto. Permitiendo ver el resultado y dandote el código.
Un saludo.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#7
|
||||
|
||||
Hola,
en lugar de borrar el registro en el dbgrid hazlo en el query. Esto borra el registro activo de la consulta de tu query que corresponde al que está señalado en el dbgrid. También puedes hacerlo mediante consulta pero utilizando ExecSQL.
Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#8
|
||||
|
||||
Muchas gracias a todos, me he dado cuenta de lo útil que es este foro, me encanta
|
#9
|
||||
|
||||
Y a nosotros nos encanta que te encante , gracias.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Duda con Dbgrid | Paulao | Varios | 1 | 17-02-2009 23:47:02 |
Duda con un DBGrid | santi33a | OOP | 2 | 19-11-2007 21:32:49 |
duda con dbgrid | ercrizeporta | Conexión con bases de datos | 3 | 22-04-2007 20:34:59 |
Duda con DBGrid | alcides | Varios | 4 | 14-09-2006 22:39:43 |
Duda Con Dbgrid | armando | Varios | 2 | 26-02-2004 16:08:12 |
|