![]() |
erro valores nulos se agregan a la base de datos =S
hola que tal
eh estado intentando guardar los datos a mysql medinato un zquery pero me a estado arrogando valores nulos ala base de datos y un error despues de poner los datos en los edit y darle clic en el boton guardar me sale una ventana que dice:" source file not found: zdbcmysqlutils.pas" como titulo de la ventana en el edit sale "path to source file:" y adentro sale el archivo "zdbcmysqlutils.pas2 con boton "browse" despues de eso le doy ignore y sale otro mensaje: "project prueva.exe raised exception class ezsqlexception with message 'sql error: unknown table 'null' in field list'. process stopped. use step or run to continue." el codigo de la aplicacion es: zconnection1.connect; zquery1.Active:=true; zconnection1.disconnect; dentro del zquery1 el codigo es: insert into clientes (nombre,apellido) values (:nom.text,:ape.text) de hante mano gracias |
Los primeros errores son consecuencia secundaria del último y se deben a que al encontrarse una excepción el debugger no sabe dónde localizar el código fuente de las unidades donde se genera la excepción. Esto lo puedes corregir agregando las rutas a todos los subdirectorios de $(ZEOS)\src a Tools|Enviroment Options|Library|Browsing Path donde $(ZEOS) es la carpeta donde hayas instalado las componentes.
El problema real se debe a que tu consulta es incorrecta. Para empezar parece ser que utilizas parámetros (por los dos puntos : ) pero nunca los sustituyes antes de activar la consulta. Pero aún así, nom.text y ape.text no parecen tener sentido. Mi impresión es que nom y ape son componentes TEdit en tu formulario Delphi y estás tratando de asignar sus valores a la lista values de la consulta. Recuerda que el lenguaje SQL es independiente del código Delphi y no se conocen el uno al otro. Dicho de otra forma, no puedes hacer referencia desde SQL a objetos de Delphi. Para SQL es como si nom y ape fuesen nombres de tablas en cuyo caso tendrían que estar declaradas en algún lugar de la consulta. Si mi impresión es correcta entonces tu consulta debe ser así:
Y debes usarla así:
// Saludos |
hola que tal
gracias de nuevo ya salio bien todo pero.. creo que zeos no es nada practico tengo que haser muchos agustes para que funciones, eso no es practico al momento de quere poner el sistema en otra maquina. saludos |
hola que tal
ya puse la librerias del zeos en al ruta de src y todos sus subdirectorio el cuadro ya no me salio pero.. me sale otro mesanje de error si me graba pero sale ese error y tengo que ir al mene run y resetear "project prueva.exe raised exception class EZXQLException with message 'can not retrive resulset data'. process stopped. use step or run continue." de hante mano gracias |
Cita:
Más difícil es tener que ajustar cadenas de conexión ODBC, por ejemplo, para usar este tipo de conectividad con MySql. Las componentes Zeos ciertamente carecen de algunas cosas y les falta documentación pero creo que es de los más adecuado que hay sin necesidad de pagar por algo. Si te interesa también he probado las componentes MyDac de CoreLab y a "ojo de buen cubero" me han parecido bastante mejores que Zeos pero son de pago (aunque no mucho). En lo que se refiere al último error que te marca se debe a algo que se me escapó desde el principio: Poner la propiedad Active en true- que es lo mismo que usar el método Open -se usa sólo para consultas de tipo SELECT que regresan registros. Para otro tipo de consultas como INSERT, UPDATE, DELETE debe usarse el método ExecSQL:
Esto es normal en casi cualquier componente de tipo Query. // Saludos |
La franja horaria es GMT +2. Ahora son las 12:02:32. |
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