![]() |
Error al hacer varias busquedas con adoquery
Hola el problema que tengo es de que estoy ejecutando una busqueda sobre una tabla de mi base de datos con un adoquery y mysql, la base de datos la tengo en mi pc, el problema es de que a la primera vez que ejecuto la consulta la hace correctamente pero despues de ejecutar varias consultas delphi me manda un error, donde me muestra una ventana de CPU donde me aparece una especie de codigo ensamblador y de tiene mi programa.
Este es el codigo q utilizo en el onchange de un edit, ya busque en los hilos que vienen en el foro y en ninguno e encontrado la solucion para mi problema.
|
Saludos
Trata con esta modificación en esta linea:
Usa las Etiquetas para que el codigo aparezca resaltado. |
Hola mira de la forma en que tenia el codigo la forma anterior no me marcaba error pero al momento de buscar no encontraba nada, entonces decidi cambiar en la sentencia igual por el like, ahy si encuentra pero al hacer un numero determinado de busquedas me vuelve a presentar el mismo error, me vuelve a presentar la fea pantalla con el titulo de CPU.
qbuscar.Close; qbuscar.SQL.Clear; qbuscar.SQL.Add('select * from CLIENTES where NOMBRE LIKE:n'); qbuscar.Parameters.ParamByName('n').DataType:=ftstring; qbuscar.Parameters.ParamByName('n').Value:=('%'+trim(edtbuscar.Text)+'%'); qbuscar.Open; |
Que error te tira?
Quitale los parentesis que te puse en rojo. qbuscar.Parameters.ParamByName('n').Value:=('%'+trim(edtbuscar.Text)+'%'); Saludos |
Hola que ondas oye mira ya le quite los parentesis que me dijiste pero me sigue saliendo ese error, lo que hace ahora es que por ejemplo encuentra el registro que busco pero al ejecutar la busqueda pa ver otros archivos me vuelve a salir la ventana de CPU, es la pantalla donde viene el codigo ensamblador, el titulo de la pantalla es CPU, no me falta de configurarle algo al adoquery o al adoconecction que quiza sea lo que me provoke no poder hacer las busquedas que necesito?
|
Ok, creo entender a lo que te refieres con "Ventana de CPU". Ejecuta tu programa fuera de Delphi. Y escribe aqui el error que te dá el sistema.
Sin conocer ese error estamos fritos. Saludos |
Oye con la novedad de que el error corriendolo desde el ejecutable fuera de delphi funciona a la perfeccion pero corriendolo con F9 malas ahy es donde truena, entonces ya mi duda seria si no me dara problemas mas adelante ese error que me salia, por que ahorita estoy intentandolo hacer que truene y de plano no falla fuera de delphi. Muchas gracias por tu ayuda y aqui paso el codigo con el que me esta funcionando por si alguien mas le sirve;
qbuscar.Close; qbuscar.SQL.Clear; qbuscar.SQL.Add('select * from CLIENTES where NOMBRE LIKE:n'); qbuscar.Parameters.ParamByName('n').DataType:=ftstring; qbuscar.Parameters.ParamByName('n').Value:='%'+trim(edtbuscar.Text)+'%'; qbuscar.Open; |
hola ya volvi pues con la mala noticia de que estaba ejecutando mi sistema fuera de delphi i por fin me salio el error que pense que se habia ido para no volver mira el errror que me sale es Runtime error Program ABC.Exe R6025 pure virtual function call.
|
Mira le estuve moviendo a dale y dale al sistema hasta que lo hice llorar, lo que hice fue con el ejecutable lo corri entonces me salio el error antes mencionando de runtime error le puse aceptar y despues le volvi a mover al edit y me salio una ventanita error inesperado y despues de esa enseguida me sale una que dice que un objeto estaba abierto y de ahy ya no me puedo mover.
|
Me parece que ese error que te sale no es causado (directamente) por el código que has puesto. Debe haber algun evento, procedimiento o función que está provocando esa llamada.
Si es posible, muestranos los procedimientos o funciones involucrados de esa unidad. Y usa las etiquetas para los códigos. Edita tu primer mensaje, en donde he puesto las etiquetas para que veas como se utilizan. Saludos |
hola que tal oye quieres que te pase la unidad de codigo donde me manda el error?
Código:
|
No necesitas la opcion de DataType = ftString, quitala y prueba.
Salud OS. |
Hola cucuy
Yo intentaria esto primero y luego por parametros: Creo que se ve mas facil, por lo menos para empezar Saludos |
Hola
La verdad yo haria un simple filtro asi: Pensando que pedidos es numerico: Si pedidos es texto: Teniendo en cuenta que wbuscar se encuentra abierto. Saludos |
Hola Caral Como estas mira eso de quitarle la instruccion de datatype lo tenia antes asi y me mandaba errror mas rapido, y entonces me puse a hacer tu segunda recomendacion que es la de poner un simple filtro en el onchange en lugar de estar haciendo un select, el problema fue que puse el filtro que me dijiste ocacion lo hace bien pero a la segunda me manda un error que dice: ABC. exe raised exception class EOle Exception with message 'Argumentos incorrectos', fuera del intervalo permitido o en conflicto con otro. La configuracion que tengo de los componentes que utilizo en esta operacion es la que viene de foul, solo ago la conexion del adoconection con la base de datosy ligo el adoquery a el adoconection osea que no le e movido a nada de los tipos de cursores y esas cosas, por que lo intente y el resultado era el mismo o el peor por que que en veces no me mostraba informacion.
Código:
procedure TForm1.contratoChange(Sender: TObject); |
Nombranos los componetnes que estas utilizando en ese formulario.
Saludos |
mira estoy usando un adoquery (qbuscar), un adoconection (adoconection1) un edit (edtbuscar) un dbgrid (dbgrid1) y un datasource (datasource1) esos componentes utilizo todos con sus propiedades de foul solo ligando lo necesario para tener acceso a la base de datos y para mostrar en el dbgrid la informacion
|
Aun no veo el error :confused:. Que base de datos usas?
Por último, hagamos una prueba. Crea un nuevo proyecto o un nuevo formulario e intenta hacer lo mismo, coloca todos los componentes y el codigo (nada de Copy-Paste). |
ok dejame ago eso utilizo base de datos mysql es lo unico que me esta atorando por que puedo hacer altas, bajas y cambios sin ninguno problema solo las busquedas se me pusieron necias jajajaja, gracias ahy te cuento como me fue, oye no podra ser problema del MSDART.DLL ?
|
En MySql soy un proble diablo. No te sabría decir si el problema viene de ahí. Si aun te persiste el problema, podrías cambiar los componentes Ado a Zeus o MyDac que son mas nativos para MySQL, siempre que te sea posible y no conlleve a mayores daños y perdida de tiempo.
De todos modo, realiza la prueba y nos cuentas. Suerte Saludos |
La franja horaria es GMT +2. Ahora son las 02:59:51. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi