Club Delphi  
    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 12-01-2007
hurricane21 hurricane21 is offline
Registrado
 
Registrado: ene 2007
Posts: 1
Poder: 0
hurricane21 Va por buen camino
Problema de Query y Tedit AYUDA PORFAVOR

Hola que tal. Mi problema es el siguiente Tengo un formulario el cual se trata de incluir nuevos datos dentro de una base de datos, en el cual por obligacion debo tener Tedit, y estos a su vez conectarlos a Un query y a un datasource los cuales estan dirigidos hacia mi base de datos. El problema es que me tira un error al pulsar el boton aceptar (el cual me deberia ingresar automaticamente los valores insertados a mano),me dice que al 'field' en este caso '@codigopostal' no le inclui los suficientes parametros, siendo que el formulario esta hecho para incluir los datos de codigo postal, en el tedit, y lo mismo pasa con cada uno de los 'field'. ademas le tengo este codigo

Código Delphi [-]
procedure TForm11.BB_AceptarClick(Sender: TObject);
var
  query:string;
begin
   query := 'SP_AGREGAR_EMPLEADO ' +
             chr(39) + ED_idEmployee.text + chr(39) + ',' +
             chr(39) + ED_LastName.text + chr(39) + ',' +
             chr(39) + ED_FirstName.text + chr(39) + ',' +
             chr(39) + ED_Title.text + chr(39) + ',' +
             chr(39) + ED_TitleofCourtesy.text + chr(39) + ',' +
             chr(39) + ED_BirthDate.text + chr(39) + ',' +
             chr(39) + ED_HireDate.text + chr(39) + ',' +
             chr(39) + ED_Adress.text + chr(39) + ',' +
             chr(39) + ED_City.Text + chr(39) + ',' +
             chr(39) + ED_Region.Text + chr(39) + ',' +
             chr(39) + ED_PostalCode.text + chr(39) + ',' +
             chr(39) + ED_Country.text + chr(39) + ',' +
             chr(39) + ED_HomePhone.text + chr(39) + ',' +
             chr(39) + ED_Extension.text + chr(39);

   if Messagedlg('Está seguro de guardar este registro?', mtwarning, [mbYes,mbNo],0) = mrYes then
       begin
          Query2.SQL.Clear;
          Query2.SQL.Add(query);
          Query2.ExecSQL;
          Showmessage('Registro guardado en forma correcta');
          close
       end;
end;

Si alguien me puede ayudar, bienvenido sea.

Última edición por dec fecha: 12-01-2007 a las 02:18:46.
Responder Con Cita
  #2  
Antiguo 12-01-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola, antetodo bienvenido al ClubDelphi.
Primero échale un vistazo a la Guía de Estilo y entenderás que el título de tu hilo no es el más idóneo.

En cuanto a tú problema, no veo la solución ahora mismo, pero puedes intentar varias cosas para intentar sacarlo por tí mismo.

- Puedes añadir un breakPoint en la linea donde asignas tu cadena a la variable Query. Llegar hasta el ExecSQL con F8 y ver que contiene Query, eso lo puedes copiar y ejecutar directamente sobre el cliente que tengas instalado de la base de datos y ver si funciona allí.
- El problema quizá esté en el SP, quizá deberías ponerlo aquí para verlo más claro.
- Esto ya es más un consejo:
Código Delphi [-]
   if Messagedlg('Está seguro de guardar este registro?', mtwarning, [mbYes,mbNo],0) = mrYes then
       begin
          Query2.SQL.Clear;
          Query2.SQL.Add(query);
          Query2.ExecSQL;
          Showmessage('Registro guardado en forma correcta');
          close
       end;
Tras hacer el ExecSQL muestras un mensaje informando de que se ha guardado bien. En tu caso, seguro que te debe aparecer el error de la base de datos y despues el de registro guardado, no?
Quizá deberías encerrar el intento de guardado en un bloque Try Except, algo como esto:

Código Delphi [-]
   if Messagedlg('Está seguro de guardar este registro?', mtwarning, [mbYes,mbNo],0) = mrYes then
       begin
          try
            Query2.SQL.Clear;
            Query2.SQL.Add(query);
            Query2.ExecSQL;
          except
             on e:Exception do //En lugar de Exception puedes usar cualquier otro manejador de excepciones
               ShowMessage('Se produjo un erro al guardar el registro: ' + e.message);
          end;
//Yo no mostraría el mensaje de se ha guardado correctamente, ya que se entiende que debe ir bien y se debe guardar, sólo mostrar algo si falla. Siguiendo la "norma" inglesa: No news, good news!
//          Showmessage('Registro guardado en forma correcta');

          close;
       end;

Espero te sirva.

Saludos
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
Stringgrid + combobox ayuda porfavor serebi Varios 2 21-12-2006 18:00:21
Ayuda PorFavor¡¡¡¡ JKM Gráficos 5 21-06-2006 15:58:06
Una Ayuda Porfavor!! JerS Varios 2 17-08-2005 20:07:06
una ayuda porfavor! Ryu Internet 3 15-04-2005 23:09:43
Ayuda Porfavor MasterOzzy Varios 2 25-11-2003 16:14:15


La franja horaria es GMT +2. Ahora son las 23:48:07.


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