| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
DarkSpawn Lt JG


Registrado: 19 Mar 2005Mensajes: 72Ubicación: Coquimbo Chile
|
Publicado: Mie 06 Sep, 2006 5:10 am Asunto: Problemas con una consulta |
|
|
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 |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mie 06 Sep, 2006 10:25 am Asunto: |
|
|
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 _________________
 |
|
| Volver arriba |
|
 |
DarkSpawn Lt JG


Registrado: 19 Mar 2005Mensajes: 72Ubicación: Coquimbo Chile
|
Publicado: Jue 07 Sep, 2006 4:21 am Asunto: |
|
|
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 |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Vie 08 Sep, 2006 1:18 am Asunto: |
|
|
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; |
_________________
 |
|
| Volver arriba |
|
 |
DarkSpawn Lt JG


Registrado: 19 Mar 2005Mensajes: 72Ubicación: Coquimbo Chile
|
Publicado: Vie 08 Sep, 2006 6:34 pm Asunto: |
|
|
mmm me sigue diciendo lo mismo :
Query1: cannot perform this operation on a closed dataset
que podra ser  _________________ -------------------------------------------
http://mundodigital.foro.st |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Vie 08 Sep, 2006 8:40 pm Asunto: |
|
|
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. _________________
 |
|
| Volver arriba |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Sab 09 Sep, 2006 5:29 am Asunto: |
|
|
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 |
|
 |
DarkSpawn Lt JG


Registrado: 19 Mar 2005Mensajes: 72Ubicación: Coquimbo Chile
|
Publicado: Sab 09 Sep, 2006 6:26 am Asunto: |
|
|
Perfecto ese era el detalle, estaba tratando de acceder antes de abrir.. muchas gracias a ambos..
 _________________ -------------------------------------------
http://mundodigital.foro.st |
|
| Volver arriba |
|
 |
|