Delphi - tremenda duda--

 
Vista:

tremenda duda--

Publicado por Luchito (9 intervenciones) el 15/12/2004 17:35:56
hola a todos, deseo mostrar los datos de una tabla., lo cual lo realizo mediante unos dbedit.. todo bien hasta hay..luego deseo modificar los datos de ese dbgrid, pero no puedo modficarlo en el inspector de objeto tengo lo tengo onlyread false para que me deje borrar lo que esta pero no pasa nada no deja hacer nada dentro del dbedit... como puedo solucionar eso??
porfavor ayuda..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:tremenda duda--

Publicado por skull leader (284 intervenciones) el 15/12/2004 17:41:05
si estas usando un Query t epasa eso, ya que el Query hace una copia de los datos que estan fisicamente en la tabla.
usa un Table para que borres directamente, que no es muy recomendable

por que no haces el borrado por medio de las llaves primarias? se que es un poco laborioso pero es lo más seguro.

esta es la respuesta a lo que entendi por tu duda
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tremenda duda--

Publicado por Luchito ayuda porfavor.. (1 intervención) el 15/12/2004 20:01:40
sorry pero no entendi lo de borrar por medio de las lllavees, lo que pasa es que realizo una busqueda por medio de la llave primaria y uso los db edti para mostrar el resultado de la busqueda.. bueno esto es para modificar datos de una persona(Cliente), en caso de que las secretaria digite un dato mal es necesario modificarlo o el cliente cambio de domicilio o casas por el estilo por eso quiero que me muestre todos los datos del cliente y el que se haya equivocado lo modifique menos la llave.. como puedo lograr eso no se.. ayudeme porfavor....
please..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tremenda duda--

Publicado por skull leader (284 intervenciones) el 15/12/2004 22:56:54
dejame ver si entendi, usas los DBEdit para modificar los datos de manera inmediata y practica...
no me queda muy claro entonces que quieres hacer con el DBGrid...
creo que lo que quieres hacer es que del DBGrid, seleccionando la fila o reglon, puedas eliminarlo...

lo que te decia, de borrar con las llaves primarias, es algo asi, espero pueda explicarme bien:

tenemos tu grid

col_llave - col_nombre - col_algo
1 Skull Leader No se
2 Alguien No se
3 XXX XXX
4 YYY YYY

supongamos que seleccionaste la fila donde aparece skull leader, cuyo campo llave es 1
haces un query, donde borres el registro donde la llave primaria es 1

obtienes el valor del campo llave desde el grid.
y ejecutas el query.
despues de eso cierras y abres el query para refrescar los datos.

no se si es lo que pretendes, te repito que no se que es lo que quieres hacer con el grid.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tremenda duda--uff ahora me explique bien-...

Publicado por luchito (9 intervenciones) el 15/12/2004 23:23:06
mira explico lo que quiero
quiero modificar los datos de una venta..
con lo cual en una query busco los datos segun el numero de factura..
en los dbedit muestro los datos que estan en esa venta.. , pero el problema es que quiero modificar sobre eso datos que estoy mostrando en los dbedit..
como me dijiste no puedo modificar sobre los dbedit, esotoy biendo la forma de mostrar los datos en otra cosa..ejemplo dbgrid o otra cosa y modificar sobre esos datos..pero lo ideal eso sobre un edit o dbedit , pero el problema que tengo con los edit es que no se mostrar los datos de esa busqueda en los edit.. en los dbedit si pero en los edit no..
me podrias explicar con una forma mas sencilla de hacer las modificaciones por que no entendi como hacerlo en el dbgrid...
una manera mas a prueba de novato en delphi...

gracias de todas maneras por la ayuda que me estas brindando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tremenda duda--uff ahora me explique bien-...

Publicado por skull leader (284 intervenciones) el 16/12/2004 16:13:57
veo que si usaste un query para seleccionar los datos, por que si hubieras usado una tabla (componente) hubieras modificado directamente sin problemas, pero si usaste un query fue por algo. en fin
usando esa misma consulta, de tu query, carga los datos en edits normales (yo lo haria), luego, si los cambias, haces un query, pero en vez de ser un select, que sea un update.

imaginemos que tienes en tu tabla, 3 campos, id, nombre, detalles
seria algo asi:
update la_tabla set nombre = :nombre, detalles = :detalles where id = :id
digamos que tu edit1 es donde cargaste el nombre, y ya lo modificaste, si tu nombre era "Juan" y lo cambiaste por "Jose"
la sintaxis es algo asi:
Query1.ParamByName('Nombre').AsString := Edit1.Text;
Query1.ParamByName('Detalles').AsString := Edit2.Text;
y asi sucesivamente hasta que cumplas con el numero de campos que tienes en tu tabla, segun el tipo de datos que uses, puedes remplazar el .AsString por Value, como muchos lo hacen.
ya una vez llenados los parametros de la consulta, das lo siguiente:
Query1.ExecSQL;

y para que actualices, cierras el Query que usaste para hacer la selección y despues lo vuelves a abrir

quizas te explique algo que ya sabes, pero no me culpes por tratar de ayudarte :P

para que muestres los datos en edits normales, puedes hacerlo de esta manera, tomando el ejemplo anterior.

//ya que abriste el query de seleccion
Edit1.Text := Query1.FieldByName('Nombre').AsString;
Edit2.Text := Query1.FieldByNamre('Detalles').AsString;
//si el id es entero
Edit3.Text := IntToStr(Query1.FieldByName('Id').AsInteger);
y asi segun lo requieras

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tremenda duda--uff ahora me explique bien-...

Publicado por luischevelle (9 intervenciones) el 23/12/2004 01:02:31
tambien puedes editar y postear la info del qry1 con otro qry2 dando un update con el qry2 sobre los datos que tengas en el mismo qry1y los dbedit
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar