Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Error pero lo hace !! (https://www.clubdelphi.com/foros/showthread.php?t=72476)

barakuda 22-02-2011 02:16:33

Error pero lo hace !!
 
Hola que tal verán tengo un problemilla, estoy estudiando delphi y conexiones a bbdd y tengo un problema que no se por que verán.

Tengo es te código en un botón:

Código:

procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add
(

' ALTER table tabla1 add Gender02 char(1) '

);

ADOQuery1.Active:=True;
ADOQuery1.execSQL;
end;

al ejecutar el boton me salta el siguiente error:

Cita:

Project1 raised exception class EOLeException wiht message 'El proveedor actual no admite que una única ejecución devuelva múltiples recordsets'
pero el caso es que si me a creado la nueva columna, ¿esto es debido a que es un fichero access y no un servidor SQL?

gracias cualquier aclaración y sugerencia.

Al González 22-02-2011 02:36:54

Estoy algo oxidado en ADO, pero creo que es debido a que usas la propiedad Active, en lugar de solamente llamar al método ExecSQL.

Le estás diciendo al conjunto de datos que "se abra", como para leer registros con una sentencia SQL "Select", cuando lo que deseas es simplemente ejecutar una sentencia que no devuelve registros.

Creo que bastará con que elimines / comentes la línea del "Active := True".

Por otra parte, me parece que también podrías usar el objeto conexión:

Código Delphi [-]
ADOConnection1.Execute ('Alter Table Tabla1 Add Gender02 Char (1)');

Saludos. :)

P.D. "Active := True" es lo mismo que un "Open".

barakuda 22-02-2011 03:00:06

gracias por tu rapida respuesta lo e probado y ahora no me da el error pero se que da colgado y tengo que finalizar proyecto, lo e dejado asi:

begin
adoconnection1.Execute('ALTER table tabla1 add Gender100 char(1)');
end;

ya que tienes toda la razon en que lo que busco es ejecutar una sentencia SQL y no espero nada de ella. Ahora el problema esta que si me crea la columna pero se cuelga el proyecto. Alguna sugerencia

gracias por tu ayuda!!

barakuda 22-02-2011 04:36:49

Me respondo a mi mismo;

el fallo lo provocaba otra cosa ya funciona, muchas gracias por tu ayuda me fue muy útil el aprender de tu consejo

un saludo!!


La franja horaria es GMT +2. Ahora son las 14:09:20.

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