Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-02-2010
nadlor nadlor is offline
Miembro
 
Registrado: dic 2009
Posts: 12
Poder: 0
nadlor Va por buen camino
Cita:
Empezado por roman Ver Mensaje
No necesitas relacionarla con ninguna base en específico; es decir, puedes dejar en blanco la propiedad Database y ejecutar comandos SQL.

// Saludos

Tenés toda la razon roman! je...


dejando dicha propiedad en blanco igual me toma la consulta...

pero si las propiedades <HostName>, <password>,<user> y <protocol>

sino, corrijanme


nos vemos... gracias! aguante Zeos!!!!
Responder Con Cita
  #2  
Antiguo 14-02-2010
nadlor nadlor is offline
Miembro
 
Registrado: dic 2009
Posts: 12
Poder: 0
nadlor Va por buen camino
Aun asi consideraria conveniente que alguien que lo haya hecho, dé la solucion al titulo de este Tema:


<Ejecutar Script *.SQL desde Delphi>


Yo encontré otra solucion, ya que mi caso tenia otras alternativas validas, pero creo que hay gente que tal vez encuentre y consulte este tema guiado por el titulo y le pase como me paso a mi al principio que consulte otros foros con titulo similar sin dar con la solucion final y por ello decidí abrir este nuevo tema.

Yo planteaba esto, pero segun sé estan mal pasados los parametros:

Código Delphi [-]

WinExec(PChar('cmd /c CD "c:\Archivos de programa\MySQL\MySQL Server 5.0\Bin">MySQL --user=root --password=root mi_db < c:\mi_bd.sql'), SW_Hide);

y tambien seria bueno esto:

Cita:
Empezado por AzidRain
Si conoces y tienes instalado Zeos con gusto te pongo el proyecto completo si te lo pongo y no tienes Zeos nomás te voy a confundir...
Responder Con Cita
  #3  
Antiguo 10-01-2012
franroju franroju is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 55
Poder: 15
franroju Va por buen camino
Hola. Soy nuevo en Zeos pero leyendo por estos foros vi que esta muy recomendado y decidí utilizarlo en una aplicación de prueba. Me surgió el siguiente problema:

Tengo en un form un ZConnection, un ZTable, un DataSource y un DBGrid. Creo la base de datos externamente, es decir, con un soft. de administración de base de datos, conecto las "piezas" y funciona perfectamente.

Ahora bien, quiero crear la base de datos y las tablas desde delphi, para facilitar la instalación en el cliente. Para esto utilizo un ZSQLProcessor en el cual escribo los scripts SQL, y no me informa ningún error, pero el DBGrid queda en blanco, es decir, sin datos y sin el nombre de las columnas. Como que algo falla en la conexión. Les paso el código para que vean las propiedades que modifico, tal vez olvido alguna o hago algo mal y no me doy cuenta.

Código Delphi [-]
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  ZSQLProcessor1.Script.Add('CREATE DATABASE IF NOT EXISTS prueba;');
  ZSQLProcessor1.Script.Add('USE prueba;');
  ZSQLProcessor1.Script.Add('CREATE TABLE IF NOT EXISTS `cuentacorriente` (`numero` int(9) NOT NULL, `nombre` varchar(20) NOT NULL, `monto` float(8,2) NOT NULL,  PRIMARY KEY  (`numero`));');
  ZSQLProcessor1.Execute;

  con.Database := 'prueba'; //ZConnection
  con.Catalog := 'prueba';
  con.Connect;
  ZTable1.TableName := 'cuentacorriente';
  ZTable1.Properties.Add('select * from cuentacorriente;');
  ZTable1.Active;
end;

La base de datos y la tabla las crea. Supongo que hay alguna falla con el ZTable pero no me doy cuenta cual puede ser. Hago un Showmessage de la propiedad Active de la tabla y me da 0, o sea que no queda activa y no puedo saber por qué.
Muchas gracias y espero su ayuda.
Responder Con Cita
  #4  
Antiguo 10-01-2012
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
Hola,

No estoy seguro de cuál sea el problema pero por lo menos parece que te has olvidado de enlazar el componente ZTable con el ZConnection, algo como:

Código Delphi [-]
ZTable1.Connection := con;

Por otra parte, no creo que estas sentencias sean necesarias:

Código Delphi [-]
con.Catalog := 'prueba';
ZTable1.Properties.Add('select * from cuentacorriente;');

Finalmente, parece que también te has olvidado de abrir la tabla. La sentencia:

Código Delphi [-]
ZTable1.Active;

en realidad no hace nada. Active es una propiedad que simplemente indica si la tabla está o no abierta. Tendrías que usar

Código Delphi [-]
ZTable1.Active := true;

o bien

Código Delphi [-]
ZTable1.Open;

// Saludos
Responder Con Cita
  #5  
Antiguo 10-01-2012
franroju franroju is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 55
Poder: 15
franroju Va por buen camino
Gracias roman por la respuesta, pero sigo teniendo el mismo problema, aún haciendo las modificaciones que me marcaste. Cuando hago
Código Delphi [-]
ZTable1.Active := True;
o
Código Delphi [-]
ZTable1.Open;
me lanza un supuesto error de SQL. Digo supuesto, porque si ejecuto el programa con las propiedades ya establecidas funciona perfecto, así que supongo que no es error de SQL. Además no hago ninguna consulta ni nada, solo creo la base y la tabla, pero no me deja abrirla.

Les copio el error para que lo vean:

SQL error: You have an error in your SQL syntax; check de manual that correspons to your MySQL server version for the right syntax to use near 'LIKE 'cuentacorriente'' at line 1.

Ese near 'LIKE 'cuentacorriente'' at line 1 se refiere a que el error está cerca de
Código Delphi [-]
ZTable1.TableName := 'cuentacorriente';
. Es decir, cuando activo o abro la tabla, por eso dije que era un "supuesto" error de SQL.

Gracias, y espero ayuda.
Responder Con Cita
  #6  
Antiguo 10-01-2012
franroju franroju is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 55
Poder: 15
franroju Va por buen camino
Solucionado

Gracias por ayudarme pero ya encontré donde estaba el error. Tenía que anteponerle el nombre de la base a la tabla. Es decir:

Código Delphi [-]
ZTable1.TableName := 'prueba.cuentacorriente';

Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ejecutar script desde el isql victork_py Firebird e Interbase 9 25-05-2017 20:56:54
Ejecutar script toni.vi Conexión con bases de datos 6 19-02-2009 12:51:53
Ejecutar script sql en firebird jlalvarez Firebird e Interbase 8 05-03-2008 01:25:42
Ejecutar Script SQL con DELPHI patay SQL 1 06-08-2007 18:12:26
Componente ejecutar Script buitrago Conexión con bases de datos 3 27-11-2003 09:40:54


La franja horaria es GMT +2. Ahora son las 08:59:13.


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