Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-03-2009
Tauro78 Tauro78 is offline
Miembro
 
Registrado: sep 2006
Posts: 88
Poder: 18
Tauro78 Va por buen camino
Error: Valor de carácter no valido para especificacion cast'.

hola quisiera saber si me pueden ayudar en lo siguiente: estoy trabajando con sql server 2000, delphi 2006 y dbexpress. Tengo un formulario de altas, al momento de dar un alta me sale el siguiente error:

Project Camiones.exe raised exception class EDatabaseError with message
'Database Server Error: SQL State: 22018, SQL Error Code: 0
Valor de carácter no valido para especificacion cast'.

a que se debe este error, desde ya muchas gracias.
Responder Con Cita
  #2  
Antiguo 20-03-2009
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
se debe a que tienes un Valor de carácter no valido para especificacion cast



Ya en serio, si pudieras poner el código que te genera el error sería más sencillo detectar la falla, así de entrada, yo diría que estas utilizando un Cast con tipo de dato no válido, o estas pasando un entero en lugar de una cadena, o algo así. Pero así adivinando va a estar muy difícil encontrar la falla exacta.
__________________

Responder Con Cita
  #3  
Antiguo 20-03-2009
Tauro78 Tauro78 is offline
Miembro
 
Registrado: sep 2006
Posts: 88
Poder: 18
Tauro78 Va por buen camino
ok, aqui te pongo el codigo,

Código Delphi [-]
 
procedure TfrmEmpresasAltas.cxButton1Click(Sender: TObject);
begin
if (Trim(Edit1.Text) = EmptyStr) or (cxDateEdit1.Text = '') or (cxDateEdit2.Text = '') or (cxDateEdit3.Text = '')
    then
   begin
     MessageDlg('Se deben completar todos los campos.', MtInformation, [MbOK], 0);
     Exit;
   end
     else
       begin
        with DMTablas.SPExiste_Empresa do
          begin
            Close;
            ParamByName('@SP_NOMBRE').AsString := UpperCase(Edit1.Text);
            ExecProc;
            if ParamByName('@RESULTADO').AsInteger = 1 then
              begin
                MessageDlg('Ya existe una empresa con ese nombre.', MtInformation, [MbOK], 0);
                Close;
                Exit;
              end
                else
                  begin
                    try
                      DMTablas.SPAlta_Empresa.Close;
                      DMTablas.SPAlta_Empresa.ParamByName('@NOMBRE').AsString := UpperCase(Edit1.Text);
                      DMTablas.SPAlta_Empresa.ParamByName('@FECHA_VTO_DGI').AsDateTime := cxDateEdit1.Date;
                      DMTablas.SPAlta_Empresa.ParamByName('@FECHA_VTO_BPS').AsDateTime := cxDateEdit2.Date;
                      DMTablas.SPAlta_Empresa.ParamByName('@FECHA_VTO_PL_TRABAJO').AsDateTime := cxDateEdit3.Date;
                      DMTablas.SPAlta_Empresa.ExecProc;
                    except
                      raise;
                    end;
                      DMTablas.SPAlta_Empresa.Close;
                      Edit1.Text := '';              
                      cxDateEdit1.Text := '';    
                      cxDateEdit2.Text := '';
                      cxDateEdit3.Text := '';
                  end;
          end;
       end;
end;
Responder Con Cita
  #4  
Antiguo 20-03-2009
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
El error pude estar en los parámetros que le envías desde este código y los valores que espera tu procedimiento almacenado... incluso dentro del mismo procedimiento puedes tener el error.

Primero intenta ejecutar tu tu procedimiento desde el "Query Analyzer" solo para descartar que el procedimiento está correcto. Si no te marca un error en el "query analizer" entonces el problema está en como envías los parámetros y como los recibe el procedimiento.
__________________

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
Parámetro VarChar de búsqueda, ¿es válido aumentar su tamaño para evitar error? Al González Conexión con bases de datos 15 18-11-2008 22:16:35
Valor Null no valido en D2007 Bertifox2008 Internet 3 30-07-2008 20:36:13
como cambiar un valor true por un caracter janexa Impresión 7 16-01-2008 23:29:26
Cast para string lucasarts_18 Varios 9 13-07-2005 22:12:57
Impedir salir de un DBEdit si el valor no es válido gluglu Varios 3 17-01-2005 17:35:33


La franja horaria es GMT +2. Ahora son las 08:02:44.


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