Hola foreros, la cosa es que quiero que un DataGrid me muestre unos registros dependiendo la seleccion en un DropDown pero me da problemas este código. Lo que hago es que si selecciona "all" pues me haga la consulta para mostrarme todos los registros y en caso contrario los que tengan un id_cliente específico. la cosa es que al cargar la pagina por defecto muestro TODOS y el Grid carga bien, pero al seleccionar cualquier otro de la lista me dice que el campo "empresa" no se encuentra en el field list...no se si hago algo mal con el dataset....a ver si podéis aconsejarme algo por favor. Un saludo.
private void Cargar_datos()
{
misql bf = new misql();
MySqlConnection con= bf.Crea_Conexion();
string consulta="Select nombre_proyecto as Proyecto, empresa as Cliente, id_proyecto as ID from proyectos p, clientes c where p.id_cliente=c.id_cliente";
MySqlCommand miCmd= new MySqlCommand(consulta,con);
if (ddlEmpresa.SelectedValue.ToString()!="all")
{
consulta="Select nombre_proyecto, empresa, id_proyecto from proyectos p where p.id_cliente=?id";
miCmd.Parameters.Add("?id",MySqlDbType.VarChar).Va lue=ddlEmpresa.SelectedValue.ToString();
miCmd.CommandText=consulta;
}
MySqlDataAdapter miDA= new MySqlDataAdapter(miCmd);
DataSet ds= new DataSet();
miDA.Fill(ds,"proyectos");
dgProyectos.DataSource = ds.Tables["proyectos"];
dgProyectos.DataBind();
con.Close();