SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: zuzito76 en Jueves 24 de Marzo de 2011, 12:01

Título: Consulta por campos tquery
Publicado por: zuzito76 en Jueves 24 de Marzo de 2011, 12:01
Hola Amigos ,
 Tengo un problemilla muy básico.Quiero hacer una consulta a un tquery seleccionando solo un campo de la tabla , pero el c++ builder no me deja , me obliga a seleccionar todos los campos en la consulta. Me explico:
 Tengo una tabla llamada Clientes.db con estos 3 campos: Dni , Nombre Apellidos. Quiero seleccionar el dni de todos los clientes , así que hago lo siguiente:

Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT Clientes.Dni FROM Clientes.db");
Query1->Open();

Y el error que obtengo es " Field 'Nombre' Not Found"
 Si cambio la consulta por esta otra: "SELECT Clientes.Dni , Clientes.Nombre FROM Clientes.db" el error que obtengo es: "Field 'Apellidos' Not Found")
Y al hacer esta consulta: "SELECT Clientes.Dni , Clientes.Nombre , Clientes.Apellidos FROM Clientes.db" no obtengo ningún error y todo va ok. Obviamente tampoco obtengo ningún error al hacer "SELECT * FROM Clientes.db" que es lo mismo que la anterior consulta.

Se ve que no es un error de sintaxis , pero no entiendo por qué solo me funciona cuando selecciono todos los campos , y tal vez sea tonto el problema y una tontería la solución , pero llevo mucho tiempo liado con esto y no logro resolverlo . Si me pudiérais ayudar os lo agradecería un montón.
Gracias y un saludo a todos.
Título: Re: Consulta por campos tquery
Publicado por: zuzito76 en Jueves 24 de Marzo de 2011, 13:44
Si queréis saber más sobre mi problema deciros que creé la tabla "Clientes.db" a través de "database desktop" y posteriormente , con c++ builder (en el menú database->Form Wizard) creé un simple form usando un objeto tquery al que le asigné dicha tabla (dentro del directorio asignado por el alias GENERAL).Creé el formulario y el "DataModule". En este DataModule , a parte del query y el Datasource correspondiente que me ha creado el "form wizard" he añadido un TDatabase y un Tsession , todo correctamente configurado y conectado (DatabaseName=GENERAL , sessionname...) DataSource->DataSet=Query1... y tal , pero no sé donde está el error...

Gracias de nuevo por anticipado.
Título: Re: Consulta por campos tquery
Publicado por: aleks170 en Viernes 25 de Marzo de 2011, 22:58
mira a ver si te sirve este ejemplo.. es el que estoy utilizando..
DMBiblioteca->Query1->Close();
DMBiblioteca->Query1->SQL->Clear();
DMBiblioteca->Query1->SQL->Add("insert into  (Descripcion) VALUES ('" + EDescripcion->Text + "')");
DMBiblioteca->Query1->ExecSQL();
DMBiblioteca->TConsulta->Refresh();

La descripcion que esta antes del value es la de tu tabla que la vas a evaluar con tu edit o dpende con lo que estes usando...
Las base de DAos estan creaada en MySql... espero te sirva..
Título: Re: Consulta por campos tquery
Publicado por: zuzito76 en Sábado 26 de Marzo de 2011, 00:21
Ya , pero el caso es que las inserciones me las realiza correctamente , pero falla en la consulta (la que expuse anteriormente).
Gracias por responder.
Un saludo.