Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-02-2011
barakuda barakuda is offline
Miembro
 
Registrado: mar 2010
Posts: 79
Poder: 17
barakuda Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 22-02-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
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".
Responder Con Cita
  #3  
Antiguo 22-02-2011
barakuda barakuda is offline
Miembro
 
Registrado: mar 2010
Posts: 79
Poder: 17
barakuda Va por buen camino
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!!
Responder Con Cita
  #4  
Antiguo 22-02-2011
barakuda barakuda is offline
Miembro
 
Registrado: mar 2010
Posts: 79
Poder: 17
barakuda Va por buen camino
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!!
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Servicio iniciado pero no hace nada NasgulMA API de Windows 6 30-12-2008 18:24:42
Error en ejecución pero no con Debugger gluglu Varios 0 12-12-2005 16:32:50
error en la consulta pero no en el front pborges36 Conexión con bases de datos 2 28-05-2005 18:46:34
Cuando se llama un SP dentro de otro SP autom. se hace rollback por error cuxoapat Firebird e Interbase 1 06-04-2005 22:15:50
¿Pero que significa este error? nesetru Varios 5 08-05-2003 16:27:45


La franja horaria es GMT +2. Ahora son las 12:59:23.


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