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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-10-2005
pigu pigu is offline
Miembro
 
Registrado: jul 2004
Posts: 12
Poder: 0
pigu Va por buen camino
Problemas con parametro Null en MSSQL Server 2000

Hola querido club!!!
Tengo el siguiente problema: tengo un stored procedure en sqlserver al que le paso parametros desde delphi a traves de dbExpress con un componente SQLDataSet seteado como StoredProc, es decir,
Código:
 SQLDataSet.CommandType := ctStoredProc;
 SQLDataSet.CommandText := 'Nombre del Procedimiento';
Lo que esta pasando es que cuando seteo las propiedades de tal parametro para que sea nulo su valor, por las excepciones que he hecho en el stored procedure
que me avisan que hubo un error con los datos procesados, no trabaja como yo quisiera.
Para ser mas claro en el asunto, el mismo procedimiento almacenado esta hecho en interbase 6.0 y cuando seteo otro componente SQLDataSet con conexion Interbase y le asigno al parametro valor nulo, este si me devuelve los datos que espero mostrar en una grilla.
Este es el codigo completo:
Código:
procedure TForm1.ejecturar;
begin
  case RadioGroup1.ItemIndex of
	0:
	  begin
		with Interbase do
		begin
		  Close;
		  Prepared := True;
		  ParamByName('id_empresa').AsString := '01';
		  ParamByName('fecha1').AsDate := cxDateEdit1.Date;
		  ParamByName('fecha2').AsDate := cxDateEdit2.Date;
		  ParamByName('nro_base').AsInteger := 0;
		  if ParamByName('id_moneda').IsNull then
		  begin
			ParamByName('id_moneda').DataType := ftInteger;
			ParamByName('id_moneda').Bound := True;
			ParamByName('id_moneda').Clear;
		  end;
		end;
	  end;
	1:
	  begin
		with Mssql do
		begin
		  Close;
		  CommandText := '';
		  CommandType := ctStoredProc;
		  CommandText := 'L_ASIENTOS_D';
		  Prepared := True;
		  ParamByName('id_empresa').AsString := '01';
		  ParamByName('fecha1').AsSQLTimeStamp := DateTimeToSQLTimeStamp(cxDateEdit1.Date);
		  ParamByName('fecha2').AsSQLTimeStamp := DateTimeToSQLTimeStamp(cxDateEdit2.Date);
		  ParamByName('nro_base').AsInteger := 0;
		  if ParamByName('id_moneda').IsNull then
		  begin
			ParamByName('id_moneda').DataType := ftInteger;
			ParamByName('id_moneda').Clear;
			ParamByName('id_moneda').Bound := True;
		  end;
		end;
	  end;
  end;
  ClientDataSet1.Close;
  ClientDataSet1.Open;
end;
Desde ya, muchas gracias a cualquiera que me pueda dar alguna respuesta de lo que estoy haciendo mal.
Responder Con Cita
 



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


La franja horaria es GMT +2. Ahora son las 03:37:47.


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