Saltar al contenido

Leer tabla SQL en C# DataTable

Posteriormente a consultar con especialistas en este tema, programadores de diversas áreas y maestros hemos dado con la solución a la cuestión y la plasmamos en esta publicación.

Solución:

Aquí, pruébalo (esto es solo un pseudocódigo)

using System;
using System.Data;
using System.Data.SqlClient;


public class PullDataTest

    // your data table
    private DataTable dataTable = new DataTable();

    public PullDataTest()
    
    

    // your method to pull data from database to datatable   
    public void PullData()
    
        string connString = @"your connection string here";
        string query = "select * from table";

        SqlConnection conn = new SqlConnection(connString);        
        SqlCommand cmd = new SqlCommand(query, conn);
        conn.Open();

        // create data adapter
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        // this will query your database and return the result to your datatable
        da.Fill(dataTable);
        conn.Close();
        da.Dispose();
    

var table = new DataTable();    
using (var da = new SqlDataAdapter("SELECT * FROM mytable", "connection string"))
      
    da.Fill(table);

Muchas maneras.

Use ADO.Net y use el relleno en el adaptador de datos para obtener un DataTable:

using (SqlDataAdapter dataAdapter
    = new SqlDataAdapter ("SELECT blah FROM blahblah ", sqlConn))

    // create the DataSet 
    DataSet dataSet = new DataSet(); 
    // fill the DataSet using our DataAdapter 
    dataAdapter.Fill (dataSet);

A continuación, puede obtener la tabla de datos del conjunto de datos.

La nota en el conjunto de datos de respuesta votada no se usa (apareció después de mi respuesta) Lo hace

// create data adapter
SqlDataAdapter da = new SqlDataAdapter(cmd);
// this will query your database and return the result to your datatable
da.Fill(dataTable);

Que es preferible a la mía.

Sin embargo, recomendaría encarecidamente mirar el marco de la entidad … usar tablas de datos y conjuntos de datos no es una gran idea. No hay ningún tipo de seguridad en ellos, lo que significa que la depuración solo se puede realizar en tiempo de ejecución. Con colecciones fuertemente tipadas (que puede obtener al usar LINQ2SQL o el marco de entidades), su vida será mucho más fácil.

Editar: Quizás no estaba claro: Datatables = good, datasets = evil. Si usa ADO.Net, puede usar ambas tecnologías (EF, linq2sql, dapper, nhibernate, orm of the month) ya que generalmente se ubican sobre ado.net. La ventaja que obtiene es que puede actualizar su modelo mucho más fácilmente a medida que cambia su esquema, siempre que tenga el nivel adecuado de abstracción aprovechando la generación de código.

El adaptador ado.net usa proveedores que exponen la información de tipo de la base de datos, por ejemplo, de manera predeterminada, usa un proveedor de servidor sql, también puede conectar, por ejemplo, el proveedor de devart postgress y aún obtener acceso a la información de tipo que luego le permite usar el orm de su elección como se indicó anteriormente (casi sin dolor, hay algunas peculiaridades), creo que Microsoft también proporciona un proveedor de Oracle. El propósito ENTERO de esto es abstraerse de la implementación de la base de datos cuando sea posible.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *