Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Conexión con bases de datos
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Conexión con bases de datos

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 17/11/2004
sakuragi's Avatar
sakuragi sakuragi is offline
Miembro
 
Join Date: Feb 2004
Location: root
Posts: 1,435
Poder: 24
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
Reply With Quote
  #2  
Old 17/11/2004
roman's Avatar
roman roman is offline
Moderador
 
Join Date: May 2003
Location: 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
Reply With Quote
  #3  
Old 17/11/2004
sakuragi's Avatar
sakuragi sakuragi is offline
Miembro
 
Join Date: Feb 2004
Location: root
Posts: 1,435
Poder: 24
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
Reply With Quote
  #4  
Old 17/11/2004
sakuragi's Avatar
sakuragi sakuragi is offline
Miembro
 
Join Date: Feb 2004
Location: root
Posts: 1,435
Poder: 24
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
Reply With Quote
  #5  
Old 17/11/2004
roman's Avatar
roman roman is offline
Moderador
 
Join Date: May 2003
Location: 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
Quote:
Originally Posted by 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
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 12:35.


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