FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
URGENTE!!! Me Manda un error al llenar un combobox
Hola, tengo un problemon y no se como resolverlo. Lo que pasa es que estoy haciendo un proyecto de una biblioteca, manejo base de datos en sql. Asi estan las cosas: yo tengo que llenar un combobox con una tabla, pero la tabla puede tener registros repetidos, siendo mas exacto, tengo una tabla de libros, donde tiene titulo,autor, etc, y tengo que llenar un combobox ya sea con los titulos de libro o autor, la decision sera a traves de un radiobutton, cuando doy clic al radiobutton1, se llena con los titulos del libro, si cambio al radiobutton2, se llena con los autores de todos los libros, pero mi problema es que al darle clic a un radiobutton si se llena bien, pero al cambiar de radiotbutton me manda un error, el cual es:
Project bibliteca.exe raised exception class EAAccessViolation with message 'Access violation en address 1F453E7E in module 'masado.15dll. Write of address 00CC7014'. Process stopped. Use step or run to continue. El mismo error me aparece en otra forma en la cual en el evento onactivate le pong que me llene otro combobox, pero ahora, solo con los diferentes titulos, y en el primer registro si lo hace bien, pero como puedo hacer mas de un registro continue en esa forma, me manda el mismo error. Asi lleno mi combo box: modulodedatos.FiltradoLA; modulodedatos.ADOQuery2.Open; modulodedatos.ADOQuery2.First; ComboBox1.Items.Clear; while not modulodedatos.ADOQuery2.Eof do begin ComboBox1.Items.Add(modulodedatos.ADOQuery2['Autor1']); modulodedatos.ADOQuery2.Next; end; modulodedatos.ADOQuery2.Close; Y el codigo de FiltradoLa es el siguiente: ADOQUERY2.SQL.Clear; ADOQUERY2.SQL.Add('select distinct Autor1 from libros order by Autor1'); ADOQUERY2.ExecSQL; Si alguien me puede ayudar, se los agradeceria profundamente. Ah, otra cosa, ya aprovechando, otro problema es que en mi base de datos tengo los datos de libro, pero la materia la manejo con un id, con el cual saco el nombre de lamateria con otra tabla llamada materia, pero al mostrar los datos en un dbgrid del libro, pues me pone el id de materia, pero yo quiero poner el nombre de la materia, seria algo asi, como conectar dos tablas y sustituir el idmateria por su materia, Espero haberme explicado bien. Perdon si es algo muy largo y aburmador, pero no se que hacer y esto lo tengo que entregar el martes 17 de enero, asi que veran que estoy muy desesperado. Les agradezco de antemano |
#2
|
||||
|
||||
Hola, antetodo bienvenido al ClubDelphi.
Por favor, leete la Guía de Estilo y entenderás que no debes repetir los hilos (no ayuda en nada, sólo conseguirás que se te recrimine por parte de un moderador y te cierren el hilo), poner títulos descriptivos y no usar palabras como "urgente" porque no ayudan en posteriores búsquedas si alguien más tiene el mismo problema que tú. No hacer distintas preguntas en el mismo hilo por la misma razón que antes. Y usar las etiquetas para envolver el código para mejorar la legibilidad. A bote pronto, referente a tu problema, es que, tras rellenar la propiedad Add (o text) del AdoQuery, llamas al método ExecSQL y luego al Open. Es un error muy frecuente, por lo que veo. ExecSQL, sólo debes usarlo cuando la Query que vayas a ejecutar no sea una Select, es decir, cualquier otra: Insert, Delete, Update, Drop, Create, etc. Además nunca usas en combinación con Open o Active := True, porque puede que te de problemas. En cambio el metodo Open o la propiedad Active := True (son equivalentes los dos, pero sólo debes usar uno a la vez), son los que activan la query en caso que esta sea una consulta (SELECT). No se si esto, te soluciona el problema, pero con el código que nos has dado es lo único que veo, a simple vista. Tú segundo problema puedes probar con la siguiente select, substituyendo los nombres con los de tus tablas.
|
#3
|
|||
|
|||
Muchas Muchas gracias
antes que nada, pido disculpas pero era mi primer mensaje en el foro, y pues no sabia nada de no repetir tema ni poner urgente ni nada de eso, lo siento...era miprimera vez, jeje .
Ahora, te lo super mega agradezco, casi lloro de alegria (jeje) porque tenia ya mas de una semana con ese maldito problema y pues tengo la presion de que esta tarea era para el martes. Lo otro, apenas lo voy a intentar, pero lo del combobox funciona super bien. Michas gracias y para la proxima, no cometere los mismos errores al insertar nuevo tema |
#4
|
|||
|
|||
Otra vez...perdon
Que onda, mira, ya le quite eladoquery2.execsql
y todavia me manda el error, aunque "dura un poco mas " sin mandarlo, pero igual lo manda |
#5
|
|||
|
|||
Ahora si!!!
Ya verifique y el error era por otra consulta que hacia donde tambien ejecuatab el query, lo cual ya se lo quiete y si funciona, muchras gracias otra vez.
Por otra parte, ya probe mi segunda duda, y tambien esta tod perfecto. Gracias, gracias |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
llenar un combobox | fabian20s | Conexión con bases de datos | 13 | 30-11-2007 18:54:56 |
Error al llenar tabla desde archivo txt | bohemioloco | Conexión con bases de datos | 9 | 13-11-2006 13:49:54 |
Error Ado Urgente | soloriv | Conexión con bases de datos | 1 | 17-04-2006 17:20:49 |
Como llenar este comboBox | pzala | Varios | 2 | 14-12-2003 21:26:22 |
|