我想知道以下错误的原因。如果您能提供帮助,我将不胜感激。
错误是:
Procedure or function 'Sp_Informacion_gral_Cliente' expects parameter '@Cod_Medico', which was not supplied.
我在浏览器中输入的网址:
http://localhost:2731/Api/Usuario/0000986
ApiAreaRegistration 中的 MapRoute:
context.MapRoute(
"DetailClientes",
"Api/Usuario/{Detail}",
new
{
controller = "Usuario",
action = "Detail"
}
);
控制器方法:
[HttpGet]
public JsonResult Detail(string codigo)
{
return Json(clientesManager.ObtenerClienteDetallado(codigo),
JsonRequestBehavior.AllowGet);
}
以及可能发生错误的方法:
public List<ClienteDetallado> ObtenerClienteDetallado(string cliente)
{
List<ClienteDetallado> lista = new List<ClienteDetallado>();
SqlConnection con = new SqlConnection(cadenaConexionVM);
con.Open();
SqlCommand cmd = new SqlCommand("Sp_Informacion_gral_Cliente", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Cod_Medico", SqlDbType.NChar).Value = cliente;
SqlDataReader reader =
cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
while (reader.Read())
{
ClienteDetallado cli = new ClienteDetallado();
cli = new ClienteDetallado();
cli.Cod_Medico = reader.GetInt32(0);
cli.Nombre = reader.GetString(1);
cli.Apellido = reader.GetString(3);
cli.Fecha_Nacimiento = reader.GetString(4);
cli.Lugar_Nacimiento= reader.GetString(5);
cli.celular= reader.GetString(6);
cli.tel_ofic= reader.GetString(7);
cli.Estilo_De_Conducta = reader.GetString(8);
cli.pasatiempos= reader.GetString(9);
cli.Membresías_Grupos_Asc= reader.GetString(10);
cli.Especialidad= reader.GetString(11);
cli.Facultad_Medicina= reader.GetString(12);
cli.Lugar_Donde_Obtuvo_Especialidad= reader.GetString(13);
cli.Tiempo_Ejerciendo_Especialidad= reader.GetString(14);
cli.Lugar_Donde_Labora = reader.GetString(15);
cli.Direccion_CS_Labora= reader.GetString(16);
cli.Direccion_Consultorio = reader.GetString(17);
cli.Horario_Labor= reader.GetString(18);
cli.Lugar_prefiere_recibir_Visitadores_Médicos= reader.GetString(19);
cli.Productos_que_Receta_actualmente= reader.GetString(20);
cli.Potencial_de_receta_actual= reader.GetString(21);
cli.Costo_Promedio_Consulta= reader.GetString(22);
lista.Add(cli);
}
reader.Close();
return lista;
}