Cargo Cuit (Como int 32) y en gridview figura un numero diferente

Iniciado por llogui, 26 Septiembre 2021, 16:33 PM

0 Miembros y 1 Visitante están viendo este tema.

llogui

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 (cpp) [Seleccionar]
public: void cargarDataGridView()
        {
            //declaramos la cadena  de conexion
            OleDbConnection^ connection = gcnew OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\Guillermo\\Documents\\Visual Studio 2008\\Projects\\VtaInsumosPc\\VaInsumosPc.accdb;");
            //variable de tipo OleDbcommand
            OleDbCommand^ command = connection->CreateCommand();
//declaramos el comando para realizar la busqueda
            command->CommandText = "Select Id_Proveedores, RazSoc, Cuit From Proveedores Order By Id_Proveedores Asc";
            //variable SqlDataReader para leer los datos
            OleDbDataReader^ dr;
            //se abre la conexion
            connection->Open();
            //limpiamos los renglones de la datagridview
dataGridView1->Rows->Clear();
            //a la variable DataReader asignamos  el la variable de tipo SqlCommand
            dr = command->ExecuteReader();
            //el ciclo while se ejecutará mientras lea registros en la tabla
while (dr->Read())
            {
                //variable de tipo entero para ir enumerando los la filas del datagridview
                int renglon = dataGridView1->Rows->Add();
                // especificamos en que fila se mostrará cada registro
                // nombredeldatagrid.filas[numerodefila].celdas[nombredelacelda].valor=
                // dr.tipodedatosalmacenado(dr.getordinal(nombredelcampo_en_la_base_de_datos)conviertelo_a_string_sino_es_del_tipo_string);
dataGridView1->Rows[renglon]->Cells["Id_Proveed"]->Value = dr->GetInt32(dr->GetOrdinal("Id_Proveedores")).ToString();
                dataGridView1->Rows[renglon]->Cells["NomRazSoc"]->Value = dr->GetString(dr->GetOrdinal("RazSoc"));
                dataGridView1->Rows[renglon]->Cells["Cuit"]->Value = dr->GetInt32(dr->GetOrdinal("Cuit")).ToString();
}
            //cierra la conexión
            connection->Close();


EdePC

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