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 modificacion de sentencia SQL

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Problemas con modificacion de sentencia SQL Responder citando

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
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

es mas que le quite
Cita:

Datos->CSQL->Prepare();
Datos->CSQL->ExecSQL();

y tambien funciona...
esta probado..
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

OK, Gracias a los 2, y perdon por no publicar el tema en bases de datos, un lapsus.

Funciona perfectamente, un saludo.
Volver arriba
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.