Visual CSharp .NET - un problema

 
Vista:

un problema

Publicado por Mariano (1 intervención) el 11/12/2007 18:27:37
Hola tengo una duda cuando voy a ejecutar un procedimiento almacenado desde C#,o sea el procedimiento almacenado es este:

CREATE PROC BuscarCliente (@Ci int,@Contraseña int) AS
BEGIN
SELECT Ci,contraseña,Nombre,Cliente
From Personas Where Ci=@Ci and contraseña=@Contraseña and Cliente='True';
END

luego en C# hice este metodo:

public static Persona Buscar(int ci,int contraseña)
{
int CI, Contraseña;
string Nombre;
bool Cliente;
Persona per = null;
SqlConnection cnn = new SqlConnection(CONEXION);
string consulta = "EXEC BuscarCliente " + ci + contraseña;
SqlCommand cmd = new SqlCommand(consulta, cnn);
SqlDataReader lector;
cnn.Open();
lector = cmd.ExecuteReader();
if (lector.Read())
{
CI = (int)lector["Ci"];
Contraseña = (int)lector["contraseña"];
Nombre = (string)lector["Nombre"];
Cliente = (bool)lector["Cliente"];
per = new Cliente(CI,Nombre,Contraseña,Cliente);
}
cnn.Close();
return per;
}

al ejecutar el programa al final m da este error:
Procedure or function 'BuscarCliente' expects parameter '@Contraseña', which was not supplied.
Alguna ayudaa yo pienso q es en la linea esta dond esta el problema pero n m doy cuenta en esta linea:
string consulta = "EXEC BuscarCliente " + ci + contraseña;

Gracias.-
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:un problema

Publicado por paul osbaldo montoya valdez (1 intervención) el 22/02/2008 00:13:15
public static Persona Buscar(int ci,int contraseña)
{
int CI, Contraseña;
string Nombre;
bool Cliente;
Persona per = null;
SqlConnection cnn = new SqlConnection(CONEXION);
SqlCommand cmd = new SqlCommand(consulta, cnn);

cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "EXEC BuscarCliente";

// donde ci y contraseña son los parametros a enviar

cmd.Parameters.Add("@ci",SqlDbType.tu_tipo_ci);
cmd.Parameters["@ci"].Value = tu_valor_ci

cmd.Parameters.Add("@contrasena",SqlDbType.tu_tipo_contrasena);
cmd.Parameters["@contrasena"].Value = tu_valor_contrasena;

SqlDataReader lector;
cnn.Open();
lector = cmd.ExecuteReader();
if (lector.Read())
{
CI = (int)lector["Ci"];
Contraseña = (int)lector["contraseña"];
Nombre = (string)lector["Nombre"];
Cliente = (bool)lector["Cliente"];
per = new Cliente(CI,Nombre,Contraseña,Cliente);
}
cnn.Close();
return per;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar