Foro de elhacker.net

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
  1. public: void cargarDataGridView()
  2. {
  3. OleDbConnection^ connection = gcnew OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\usuarios\\alumno\\documentos\\venta de insumos.accdb;");
  4. OleDbCommand^ command = connection->CreateCommand();
  5. command->CommandText = "Select Idusuario, Usuario, Clave, Nombre From usuario Order By Idusuario Asc";
  6. OleDbDataReader^ dr;
  7. connection->Open();
  8.  
  9. dataGridView1->Rows->Clear();
  10. dr = command->ExecuteReader();
  11.  
  12. while (dr->Read())
  13. {
  14. int reglon = dataGridView1->Rows->Add();
  15.  
  16. dataGridView1->Rows[reglon]->Cells["ID_Usuario"]->Value = dr->GetInt32(dr->GetOrdinal("Idusuario")).ToString();
  17. dataGridView1->Rows[reglon]->Cells["Usuario"]->Value = dr->GetString(dr->GetOrdinal("Usuario"));
  18. dataGridView1->Rows[reglon]->Cells["Clave"]->Value = dr->GetString(dr->GetOrdinal("Clave"));
  19. dataGridView1->Rows[reglon]->Cells["Nombre"]->Value = dr->GetString(dr->GetOrdinal("Nombre"));
  20. }
  21. 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.