Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: llogui en 20 Octubre 2021, 16:36 PM

Título: La Conversión especificada no es válida....
Publicado por: llogui en 20 Octubre 2021, 16:36 PM
Hola, buen día, cómo les va??.....disculpen que los moleste, me comunico para pedir ayuda con un error de c++/cli, que cuando compilo me tira Error de InvalidCastexception, pero tendría bien implementado todo, dejo código por si se puede avisorar cuál sería el error
Aclaro: en Base de datos, está como TEXTO....

SERíA LA ÚLTIMA LÍNEA (Nombre)......

Agradezco cualquier ayuda, saludos...
Código (cpp) [Seleccionar]
public: void cargarDataGridView()
{
OleDbConnection^ connection = gcnew OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\usuarios\\alumno\\documentos\\venta de insumos.accdb;");
OleDbCommand^ command = connection->CreateCommand();
command->CommandText = "Select Idusuario, Usuario, Clave, Nombre From usuario Order By Idusuario Asc";
OleDbDataReader^ dr;
connection->Open();

dataGridView1->Rows->Clear();
dr = command->ExecuteReader();

while (dr->Read())
{
int reglon = dataGridView1->Rows->Add();

dataGridView1->Rows[reglon]->Cells["ID_Usuario"]->Value = dr->GetInt32(dr->GetOrdinal("Idusuario")).ToString();
dataGridView1->Rows[reglon]->Cells["Usuario"]->Value = dr->GetString(dr->GetOrdinal("Usuario"));
dataGridView1->Rows[reglon]->Cells["Clave"]->Value = dr->GetString(dr->GetOrdinal("Clave"));
dataGridView1->Rows[reglon]->Cells["Nombre"]->Value = dr->GetString(dr->GetOrdinal("Nombre"));
}
connection->Close();
Título: Re: La Conversión especificada no es válida....
Publicado por: Eternal Idol en 20 Octubre 2021, 16:51 PM
Voy a adivinar, no esta bien implementado todo, hay un error entre el teclado y la silla.

Si no es demasiada molestia pegue EXACTAMENTE la salida generada por el compilador y/o enlazador. ¿No es una excepcion durante la ejecucion del programa, verdad?
Título: Re: La Conversión especificada no es válida....
Publicado por: llogui en 20 Octubre 2021, 18:15 PM
Me da Error 0.......Es decir: no se qué es......No se colocar imagen aqui.....hace 2 dias que estoy con este error, pero estuve atendiendo otro alumnos.....hoy me estoy dedicando exclusivamnete....
Título: Re: La Conversión especificada no es válida....
Publicado por: Eternal Idol en 20 Octubre 2021, 18:34 PM
Si buscas upload image en Google vas a encontrar servicios donde subir una imagen que son compatibles con la funcion "Insertar Imagen" ofrecida por el foro al escribir mensajes (justo a la derecha del icono de YouTube).

Cuando lo hagas vemos, lo demas es adivinar demasiado ... error 0 da la pista de que no estamos ante un error al compilar/enlazar sino en tiempo de ejecucion pero de nuevo, solo estoy adivinando.
Título: Re: La Conversión especificada no es válida....
Publicado por: llogui en 20 Octubre 2021, 18:47 PM
(https://i.imgur.com/fGuaNA8.png)Esta es la Captura donde se puede visualizar el error que tira    (https://imgur.com/fGuaNA8)
Título: Re: La Conversión especificada no es válida....
Publicado por: Eternal Idol en 20 Octubre 2021, 19:02 PM
Efectivamente eso no es un error al compilar/enlazar, es un error en timpo de ejecucion. Hay algun tipo que no coincide entre lo que retorna la DB y la variable donde queres guardarlo.

https://docs.microsoft.com/en-us/dotnet/api/system.invalidcastexception?view=net-5.0

Revisa el codigo y la DB, nota que Clave y Usuario te estan funcionando asi que debe haber alguna diferencia.
Título: Re: La Conversión especificada no es válida....
Publicado por: llogui en 20 Octubre 2021, 19:20 PM
Sii, se que está claro que es así, pero la Bdatos y la declaraciones están bien.......seguiré revisando....puede que se haya roto algo entre la Bdatos y el código....mil millones de gracias, abrazo grande....




Ya encontre el error.....La columna Nombre de la Base de datos, no tiene datos....
Título: Re: La Conversión especificada no es válida....
Publicado por: Eternal Idol en 20 Octubre 2021, 19:45 PM
Bueno, ahora deberias hacer que el codigo manejara las excepciones en lugar de fallar.