PDA

Ver la Versión Completa : modificar en sql


RICHARIN
16-01-2006, 19:28:53
hola a todos.... bueno mi problema es el siguiente...... realizo una consulta en sql.... pero uso el ordr by para ordenarlo mediante un determinado campo... el codigo que uso es el siguiente
" select * from alumno
where curso='septimo'
order by paterno, materno, nombres "
todo me funciona..... pero el problema es que cuando quiero modificar algun dato en la grid no me es permitido.... fui a la opcion request live del query y esta en true, tambien verifique la opcion del grid option dgediting y esta tambien esta en true.... por favor si alguien podria ayudarme en esto... solo quiero que me indiquen como puedo modificar los datos en la grid gracias....

marcoszorrilla
16-01-2006, 19:33:09
Si hablamos de Paradox, pues resulta que una de las condiciones para que te permite hace cambios es no hacer una consulta que implique más de una tabla ni utilizar Order By, por lo tanto ese es el motivo.

Un Saludo.

marcoszorrilla
16-01-2006, 19:37:09
Pero no es imposible lo que quieres, puedes mirarte la ayuda del componente TUpdateSql.



Un Saludo.

RICHARIN
16-01-2006, 19:45:19
no se si podrias darme un ejemplo usando el TUPDATESQL por favor... gracias

ContraVeneno
16-01-2006, 23:40:00
Si mi memoria no me falla, la ayuda de delphi trae un ejemplo sobre como usarlo. Presiona F1 sobre TUpdateSQL en Delphi.

RICHARIN
17-01-2006, 22:36:13
sabes ya hice la prueba pero resulta que en mi maquina no quiere correr... ese ejemplo.... y la verdad hice lo mismo que esta en la ayuda y no me deja editar... por favore no si es mucho pedir podrian darme un ejemplo.... o por lo menos indicarme como usar el objeto updatesql.... gracias

RICHARIN
18-01-2006, 19:08:21
bueno estoy de acuerdo en lo que dicen.... que no se debe hacer el trabajo de otro... pero por lo menos pido una pagina en la que pueda encontrar algun ejemplo... gracias.....:o

cuburu
19-01-2006, 02:52:11
Por qué no mejor editas esa información a través de un doble click sobre el registro que desees modificar y a continuación en una pantalla te muestre los datos de ese registro, modificarlos y aplicarle el update por medio de un SQL, por ejemplo


ALTER TABLE tabla1
SET campo1 = :C1,
campo2 = :C2,
...
camposn = Cn,
WHERE CampoLlave = :OldCampoLlave


Claro, esto sería guardando previamente en una variable temporal el campo de identificación para realizar la actualización.

roman
19-01-2006, 03:31:07
Normalmente yo hago esto que menciona cuburu, es decir, prácticamente no uso rejillas editables. Pero hay casos en los que es necesario. Por ejemplo, tengo una pantalla donde se asientan las calificaciones de alumnos. Para el capturista sería muy pesado estar abriendo una ventana secundaria por cada registro, así que dejo una columna editable.

Por otra parte, si mi memoria no me falla, esa misma sentencia que escribe cuburu puede colocarse en la propiedad ModifySQL de una componente TUpdateSQL, asociar ésta al Query y ¡listo! ya está lo necesario para hacer editable la consulta. ¿De qué forma si no, trabajaría tal componente?

Así que el mensaje de cuburu puede también tomarse como una ayuda para usar el TUpdateSQL :)

// Saludos

jachguate
19-01-2006, 06:39:58
modificarlos y aplicarle el update por medio de un SQL, por ejemplo


ALTER TABLE tabla1
SET campo1 = :C1,
campo2 = :C2,
...
camposn = Cn,
WHERE CampoLlave = :OldCampoLlave


La sentencia correcta a generar sería un Update y no un alter table, al menos en todos los motores que conozco.. :D

RICHARIN
20-01-2006, 17:48:49
gracias por las respuestas lo pondre en practica ahora.....
richarin