
09/11/2005, 01:46
|
| | Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 21 años, 2 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 |