Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Problemas con una consulta

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Problemas con una consulta Responder citando

Hola amigos mi problema es el siguiente:
tengo esta consulta

Query1->SQL->Clear();
String Tambor_1 = "Tambor_1";
Query1->SQL->Add("Select Cant_Actual From Tambores where Nombre_tambor = "+Tambor_1+";");
Query1->Prepare();
Query1->First();
Query1->Open();
ProgressBar1->Position = Query1->FieldByName("Cant_Actual")->AsInteger;

la idea es capturar los datos de una tabla que almacena las cantidades de aceite de un tambor y pasarlas al progress bar, pero al ejecutar me dice Invalid field name Tambor_1 . pero en la tabla si esta guardado Tambor_1, cual es el problema???
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

cambia tu sentencia de la siguiente manera usando comillas simples
Código:
Query1->SQL->Add("Select Cant_Actual From Tambores where Nombre_tambor = '"+Tambor_1+"';");


para que la sentencia quede de la siguiente manera

"Select Cant_Actual From Tambores where Nombre_tambor = 'Tambor_1';"


para amplizar la duda

Tambor_1 <-- es Campo o dato que pasas si es campo
debe ir precedido de dos puntos y sin comillas simples :Tambor_1, si es valor con la respuesta anterior debe funcionarte
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Gracias Cesar, si funcionó pero ahora tengo otro detalle:

Cuando intento ejecutar me dice que no se puede realizar la operacion en un dataset cerrado. intente con esto pero no me funciona.. ¿que me faltaría??

Query1->DataSource->DataSet->Open();
_________________
-------------------------------------------
http://mundodigital.foro.st
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

la forma correcta de hacerlo es de la siguiente manera

Código:
Query1->Close(); // cierras
Query1->UnPrepare(); // despreparas

Query1->SQL->Clear();
String Tambor_1 = "Tambor_1";
Query1->SQL->Add("Select Cant_Actual From Tambores where Nombre_tambor = "+Tambor_1+";");
Query1->Prepare(); // preparas
Query1->First();

Query1->Open();  // abres nuevamente
ProgressBar1->Position = Query1->FieldByName("Cant_Actual")->AsInteger;

_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

mmm me sigue diciendo lo mismo :
Query1: cannot perform this operation on a closed dataset

que podra ser Rolling Eyes
_________________
-------------------------------------------
http://mundodigital.foro.st
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

1.- verifica que efectivamente estes conectado a la Tabla
2.- verifica que este activa la base de datos.. que estas usando...

no existen mas opciones.. asi mismo verifica que el componente tenga asociado una base de datos.
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

una pequeña observacion
Código:

Query1->Close(); // cierras
Query1->UnPrepare(); // despreparas

Query1->SQL->Clear();
String Tambor_1 = "Tambor_1";
Query1->SQL->Add("Select Cant_Actual From Tambores where Nombre_tambor = "+Tambor_1+";");
Query1->Prepare(); // preparas
//Query1->First(); <--------------- OJO..no puedes moverte hasta que lo hayas abierto

Query1->Open();  // abres nuevamente
Query1->First();  // <------------AHORA SI..al principio
ProgressBar1->Position = Query1->FieldByName("Cant_Actual")->AsInteger;

_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Perfecto ese era el detalle, estaba tratando de acceder antes de abrir.. muchas gracias a ambos..

Very Happy
_________________
-------------------------------------------
http://mundodigital.foro.st
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.