Cita:
Empezado por duilioisola
Trata de ir por partes, para ver el error.
Haz un form que solo contenga el ZConnection y un botón que lo abra.
Ejecuta esto y fíjate si funciona correctamente.
Luego Agrega un ZQuery y otro botón que lo abra.
Ejecuta, presiona el primer botón y luege este último y verifica que no da ningun error.
Agrega un DataSource y un grid y únelos al ZQuery.
Ejecuta el programa, presiona el primer botón para conectar, luego el segundo para abrir el ZQuery y fíjate si da error.
Postea tu código y dinos en qué línea da el error. Con lo que escribes no saco nada en claro.
|
OK, Gracias por tu ayuda.
Así lo he repetido, más paso a paso no lo puedo hacer:
Incluyo un ZConnection en un Form. Conectó y compruebo la propiedad connected. Ok
Compruebo varias propiedades más que me deja consultar y mostrarlas por ejemplo en un showmessage. Las únicas que no me deja consultar son ServerVersionStr y ClientVersionStr que arrojan el error de lectura de memoria: "Lectura de 0000000".
Incluyo un ZQuery y lo activo. En las sentencias SQL del ZQuery incluyo algunas como:
Código SQL
[-]INSERT INTO eventos (idevento,idusuario) VALUES (10,5);
SELECT * FROM eventos;
SELECT idusuario FROM eventos;
Y aparecen errores varios:
Con INSERT --> "Can not open a result set", supongo que será porque no lo muestro. Inserta los valores correctamente en la tabla. Lo miro usando SQLyog.
Con SELECT --> "Range check error"
Otro error aparece cuando intento poner más de una línea en las sentencias SQL de ZQuery, "Syntax error"
Prácticamente no hay código, pero por si acaso:
Código Delphi
[-]unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ZAbstractRODataset, ZAbstractDataset,
ZAbstractTable, ZDataset, ZConnection, StdCtrls, Mask, DBCtrls, zdbcmysqlutils;
type
TForm1 = class(TForm)
ZConnection1: TZConnection;
ZConnection: TButton;
ZQuery1: TZQuery;
ZQuery: TButton;
procedure ZConnectionClick(Sender: TObject);
procedure ZQueryClick(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ZConnectionClick(Sender: TObject);
begin
zconnection1.Connect;
if zconnection1.Connected then showmessage('Conectado a la base de datos ' + zconnection1.Database);
end;
procedure TForm1.ZQueryClick(Sender: TObject);
begin
ZQuery1.Active := true;
end;
end.
De nuevo gracias por la ayuda