
Error 'unable to cast DataRowView to iConvertible'
Publicado por Franklin (2 intervenciones) el 29/09/2021 02:03:19
Hola
Estoy programando en capas y tengo este código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public DataTable Mostrar(DEquipos pEquipos)
{
DataTable TablaDatos = new DataTable("Equipos");
using (OleDbConnection OleDbConexion = new OleDbConnection())
try
{
OleDbConexion.ConnectionString = DConexion.DatosBD;
OleDbConexion.Open();
OleDbCommand OleDbComando = new OleDbCommand
{
Connection = OleDbConexion,
CommandText = @"SELECT E.IDEquipo, E.IDCategoria, C.Categoria, E.Equipo, E.Logo
FROM Equipos E
INNER JOIN Categorias C ON E.IDCategoria = C.IDCategoria
WHERE E.IDCategoria = @IDCategoria
ORDER BY C.IDCategoria, E.Equipo"
};
OleDbParameter PIDCategoria = new OleDbParameter
{
ParameterName = "@IDCategoria",
OleDbType = OleDbType.Integer,
Value = pEquipos.IDCategoria
};
OleDbComando.Parameters.Add(PIDCategoria);
OleDbComando.ExecuteNonQuery();
OleDbDataAdapter OleDbAdaptadorDatos = new OleDbDataAdapter(OleDbComando);
OleDbAdaptadorDatos.Fill(TablaDatos);
}
catch (Exception ex)
{
TablaDatos = null;
throw new Exception("Error al intentar ejecutar la instrucción. " + ex.Message, ex);
}
finally
{
OleDbConexion.Close();
}
return TablaDatos;
}
En un formulario, para llenar un DataGrid lo llamo así:
1
GridEquipos.DataSource = NEquipos.Mostrar(Convert.ToInt32(IDCategoria.SelectedValue));
Para llenar un combobox lo hago así:
1
2
3
4
CboEquipo1.DataSource = NEquipos.Mostrar(Convert.ToInt32(IDCategoria.SelectedValue));
CboEquipo1.ValueMember = "IDEquipo";
CboEquipo1.DisplayMember = "Equipo";
CboEquipo1.SelectedIndex = -1;
Me podrían ayudar a solucionar el error por favor, no sé que estoy haciendo mal, no tengo mucha experiencia en C#.
Gracias
Valora esta pregunta


0