Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: llogui en 26 Septiembre 2021, 16:33 pm



Título: Cargo Cuit (Como int 32) y en gridview figura un numero diferente
Publicado por: llogui en 26 Septiembre 2021, 16:33 pm
Hola, cómo les va??....Yo, pidiendo ayuda.....
Al final adape codigo de c#  llene DataGridView...

El tema es que al llegar al campo Cuit, me agrega cualquier otro numero que no es el que yo tipeo como Cuit.......

Dejo codigo para que se dimensione...

A qué se deberá??....alguien sabe??

Abrazos

Código
  1. public: void cargarDataGridView()
  2.        {
  3.            //declaramos la cadena  de conexion
  4.            OleDbConnection^ connection = gcnew OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\Guillermo\\Documents\\Visual Studio 2008\\Projects\\VtaInsumosPc\\VaInsumosPc.accdb;");
  5.            //variable de tipo OleDbcommand
  6.            OleDbCommand^ command = connection->CreateCommand();
  7. //declaramos el comando para realizar la busqueda
  8.            command->CommandText = "Select Id_Proveedores, RazSoc, Cuit From Proveedores Order By Id_Proveedores Asc";
  9.            //variable SqlDataReader para leer los datos
  10.            OleDbDataReader^ dr;
  11.            //se abre la conexion
  12.            connection->Open();
  13.            //limpiamos los renglones de la datagridview
  14. dataGridView1->Rows->Clear();
  15.            //a la variable DataReader asignamos  el la variable de tipo SqlCommand
  16.            dr = command->ExecuteReader();
  17.            //el ciclo while se ejecutará mientras lea registros en la tabla
  18. while (dr->Read())
  19.            {
  20.                //variable de tipo entero para ir enumerando los la filas del datagridview
  21.                int renglon = dataGridView1->Rows->Add();
  22.                // especificamos en que fila se mostrará cada registro
  23.                // nombredeldatagrid.filas[numerodefila].celdas[nombredelacelda].valor=
  24.                // dr.tipodedatosalmacenado(dr.getordinal(nombredelcampo_en_la_base_de_datos)conviertelo_a_string_sino_es_del_tipo_string);
  25. dataGridView1->Rows[renglon]->Cells["Id_Proveed"]->Value = dr->GetInt32(dr->GetOrdinal("Id_Proveedores")).ToString();
  26.                dataGridView1->Rows[renglon]->Cells["NomRazSoc"]->Value = dr->GetString(dr->GetOrdinal("RazSoc"));
  27.                dataGridView1->Rows[renglon]->Cells["Cuit"]->Value = dr->GetInt32(dr->GetOrdinal("Cuit")).ToString();
  28. }
  29.            //cierra la conexión
  30.            connection->Close();


Título: Re: Cargo Cuit (Como int 32) y en gridview figura un numero diferente
Publicado por: EdePC en 26 Septiembre 2021, 19:04 pm
El código está bien, debe ser error de contexto, por ejemplo el Cuit tengo entendido que es un número de 11 dígitos, aunque dependerá de como lo estés trabajando o como sea en tu región, por buenas prácticas de programación NO se recomienda usar tipos numéricos para almacenar ese tipo de datos, en su lugar usar Texto o Char si es de un número de caracteres específico

Tendrías que dar más detalles de los datos con los que estás trabajando, que devuelve el programa y que debería devolver