 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Manolo(er_lolo) Capt


Registrado: 28 Jul 2003Mensajes: 172Ubicación: Salamanca
|
Publicado: Jue 15 Abr, 2004 7:51 am Asunto: Problemas con modificacion de sentencia SQL |
|
|
Wenas a todos.
Mi problema es que tengo una sentencia SQL, "select * from articulos.dbf", donde muestro todos los articulos en un grid, cuando pulso sobre el boton de buscar, lo que hago es mostrar todos los registros que comienzan por el texto escrito, "Select * from articulos.dbf where NOMBRE like '" + Edit1->Text + " %' ", en el KeyPress del edit1 pongo lo siguiente :
| Cita: | Datos->CSQL->Close();
Datos->CSQL->SQL->Clear();
Datos->CSQL->SQL->Text = "Select * from articulos.dbf where NOMBRE like '" + Edit1->Text + " %' ";
Datos->CSQL->Prepare();
Datos->CSQL->ExecSQL();
Datos->CSQL->Open(); |
pero cuando haces varias consultas o pulsas una tecla o varias durante un tiempo salta un error parecido a :
Too many files open, _QSQL467.dbf..., y ya no deja hacer mas consultas.
Parece que puede ser debido a que no me cierre bien la SQL antes de abrir otra.
Alguien sabe como puedo arreglarlo?.
Gracias de antemano, y un saludo. |
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Jue 15 Abr, 2004 8:29 am Asunto: |
|
|
Manolo (Er lolo) lo primero es que no me cansaré de decir que hay un subforo sobre Bases de datos, y este mensaje estaría mejor posteado allí no crees ?
Sobre tu problema, creo que se debe a que haces una cosa erronea, es decir o llamas al método del Query Open() o llamas a ExecSQL() pero no llames a los dos, el primero Open() se utiliza para realizar consultas que devuelven valores, por ejemplo SELECTs y el segundo ExecSQL() se utiliza para sentencias SQL que no devuelven valor tipo INSERTs, UPDATEs, DELETEs, etc...
Luego creo que deberías primero borrar el ExecSQL() y ver que sucede...
Ciao y suerte. _________________ OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Jue 15 Abr, 2004 8:51 am Asunto: |
|
|
es mas que le quite
| Cita: |
Datos->CSQL->Prepare();
Datos->CSQL->ExecSQL();
|
y tambien funciona...
esta probado.. _________________
 |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Vie 16 Abr, 2004 7:19 am Asunto: |
|
|
OK, Gracias a los 2, y perdon por no publicar el tema en bases de datos, un lapsus.
Funciona perfectamente, un saludo. |
|
| Volver arriba |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|