Ver Mensaje Individual
  #7 (permalink)  
Antiguo 09/11/2005, 01:46
kakarot
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
Buenas de nuevo

Vamos por partes q me lio

He creado un proceso almacenado igual q el de la funcion:

CREATE PROCEDURE [dbo].[IdEC]
as
Declare @trobat int
Declare @i int
Select @trobat=0
Select @i=1
while (@trobat=0)
if (SELECT COUNT (ID_EC) FROM IRIS_ECS WHERE ID_EC=@i)>0
select @i=@i+1
else
select @trobat=1
RETURN (@i)

GO

Y al final me ha añadido la palabra "GO", he comprobado la sintaxis y no ha dado error, por lo q debe estar bien

Ahora q tendria q llamar dsd mi visual c# a ese procedimiento por lo q hago:

public int idEC()
{
SqlCommand sqlcmd;
SqlConnection sqlcon;
SqlDataReader sqlread;
string conexion=("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Telematica;Data Source=UP672291");
//Se crea la conexion
sqlcon= new SqlConnection (conexion);

//Llamamos al metodo call
sqlcmd= new SqlCommand("{? = CALL idEC()}",sqlcon);
sqlprm =sqlcmd.Parameters.Add("@RETURN_VALUE",System.Data .SqlDbType.Int);
sqlprm.Direction = ParameterDirection.ReturnValue;
sqlcon.Open();
sqlread = sqlcmd.ExecuteReader();
sqlread.Read();
int i=sqlread.GetInt32(0);
return i;
}//idEc

Pero me da error en la linea: sqlread = sqlcmd.ExecuteReader();, supngo q debe ser al hacer el:sqlcmd= new SqlCommand("{? = CALL idEC()}",sqlcon); pero se llama de esa forma no?¿, mi proceso si llama idEC



GRACIAS por vuestra paciencia

Última edición por kakarot; 09/11/2005 a las 03:20