Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-11-2004
Avatar de sakuragi
sakuragi sakuragi is offline
Miembro
 
Registrado: feb 2004
Ubicación: root
Posts: 1.435
Poder: 22
sakuragi Va por buen camino
Question 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
Responder Con Cita
  #2  
Antiguo 17-11-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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í:

Código SQL [-]
insert into clientes (nombre, apellido) values (:un_nombre, :un_apellido)

Y debes usarla así:

Código Delphi [-]
ZConnection1.Connect; // sobra porque al activar el query se hace la conexión
ZQuery.ParamByName('un_nombre').AsString := nom.text;
ZQuery.ParamByName('un_apellido').AsString := ape.text;
ZQuery.Active := true;

// Saludos
Responder Con Cita
  #3  
Antiguo 17-11-2004
Avatar de sakuragi
sakuragi sakuragi is offline
Miembro
 
Registrado: feb 2004
Ubicación: root
Posts: 1.435
Poder: 22
sakuragi Va por buen camino
Post

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
Responder Con Cita
  #4  
Antiguo 17-11-2004
Avatar de sakuragi
sakuragi sakuragi is offline
Miembro
 
Registrado: feb 2004
Ubicación: root
Posts: 1.435
Poder: 22
sakuragi Va por buen camino
Question

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
Responder Con Cita
  #5  
Antiguo 17-11-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por sakuragi
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.
Sinceramente creo que debes postergar un juicio de este tipo hasta que no tengas un poco más de práctica en el uso de las componentes. El error que tenías no es competencia de Zeos y lo de las rutas es igual para cualquier componente. Y no sé a qué ajustes te refieres para instalar el sistema en otra máquina. Básicamente lo único que hay que hacer es copiar la librería libmysql.dll junto con el sistema.

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:

Código Delphi [-]
ZConnection1.Connect;
ZQuery.ParamByName('un_nombre').AsString := nom.text;
ZQuery.ParamByName('un_apellido').AsString := ape.text;
ZQuery.ExecSQL;

Esto es normal en casi cualquier componente de tipo Query.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:11:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi