Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   problemas al insertar con una consulta (https://www.clubdelphi.com/foros/showthread.php?t=9744)

maruenda 30-04-2004 18:30:32

problemas al insertar con una consulta
 
hola a tod@s. Tengo un form con objetos tdbedit, un tquery y conectado a el , un objeto tupdatesql. Cuando traigo datos con el query, los veo en los tdbedit, y si modifico algo, con la propiedad modifysql del tupdatesql grabo los cambios. El problema me surge al insertar un registro nuevo. Si utilizase una tabla, haria tabla.insert e insertaria datos, pero al usar un tquery, si hago tquery.insert me pide una sentencia sql, que no tengo. La sentencia la tengo en la propiedad insertsql del tupdatesql. No puedo ponerla en el tquery, porque los campos todavia estan vacios. alguna opinion que me saque de este lio?. Espero haberme explicado bien. graciasssssss. ;)

delphi.com.ar 30-04-2004 18:32:40

¿Esta relacionado el TUpdateSql con el TQuery?

maruenda 30-04-2004 18:36:59

si. en la propiedad updateobject del query. Los cambios, me los graba bien. El problema es que al estar los tdbedits conectados al query, hasta que no lo abro, no puedo escribir nada.

delphi.com.ar 30-04-2004 18:43:15

Cita:

Empezado por maruenda
si hago tquery.insert me pide una sentencia sql, que no tengo. La sentencia la tengo en la propiedad insertsql del tupdatesql.

No entiendo esta parte... ¿Cómo "te pide una sentencia sql"?

maruenda 30-04-2004 18:46:45

muy sencillo. si pongo en el codigo, query. insert me dice que no puede realizar esta operacion en un dataset cerrado. Yo, como soy muy bueno, voy y pongo query.open, y luego query. insert, y entonces me dice que no tiene una sentencia sql disponible. Estoy confundioooooo :confused:

delphi.com.ar 30-04-2004 18:47:30

El query tiene un SELECT en el SQL???

maruenda 30-04-2004 18:50:31

no. solo lo tiene cuando hago una busqueda. se lo pongo en tiempo de ejecucion. Cuando voy a insertar la propiedad sql esta vacia. :confused:

delphi.com.ar 30-04-2004 18:54:35

Ok.. el tema es así: El TUpdateSql sirve para poder hacer TQuerys modificables ( http://www.clubdelphi.com/foros/showthread.php?t=985 ), ahora si quieres hacer un insert simplemente, puedes hacer lo siguiente:
Código Delphi [-]
Query1.Sql.Text := 'INSERTI INTO....';
Query1.ExecSQL;
Sencillamente: el open es para "Abrir" consultas que devuelvan datos, el ExecSQL es para el resto de los querys.

Saludos!

maruenda 30-04-2004 18:59:57

a ver si lo entiendo. En el boton de insertar pongo query.sql ='insert into tabla ...... '. y luego query. execsql. Pero si los valores todavia no los se, porque los tdbedit estan vacios, uso parametros. entonces, para que sirve la propiedad insert del tupdatesql.? :(

delphi.com.ar 30-04-2004 19:03:41

Me olvide de los DBEdits... para que los DBEdits automáticamente se guarden, tienen que estar relacionados con un dataset, la opción que te dí es para trabajar con Edits comunes, para hacer lo que tu quieres, vas a tener que poner una consulta editable como en el link que te he pasado.

Saludos!

maruenda 30-04-2004 19:10:00

gracias. esta noche lo probare. un saludo a tod@s. :)


La franja horaria es GMT +2. Ahora son las 10:41:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi