none
Converter DataTable para DataView RRS feed

  • Pergunta

  • Oi pessoal

    Eu preciso transformar um DataTable em um DataView para retornar de uma consulta ao banco.
    Eu utilizo o sqlDataAdapter.fill para executar o sql e retornar em um dataTable e depois tenho que retornar pelas camadas até chegar na aplicação e carregar o gridView que encontra-se lá.

    Alguem pode me ajudar 
    quinta-feira, 12 de fevereiro de 2009 19:14

Respostas

  • Vc preenche o DataGridView com um DataTable ?

    Olhe um exemplo de um datatable para Dataview.

    Imports System
    Imports System.Data
    Imports System.Data.SqlClient


    public class MainClass
       Shared Sub Main()
          Dim thisConnection As New SqlConnection("server=(local)\SQLEXPRESS;" & _
              "integrated security=sspi;database=MyDatabase")

          ' Sql Query
          Dim sql As String = "SELECT FirstName, LastName FROM Employee"

          Try
             ' Create Data Adapter
             Dim da As New SqlDataAdapter
             da.SelectCommand = New SqlCommand(sql, thisConnection)

             ' Create and fill Dataset
             Dim ds As New DataSet
             da.Fill(ds, "Employee")

             ' Get The Data Table
             Dim dt As DataTable = ds.Tables("Employee")

             ' Create Data View
             Dim dv As New DataView(dt, _
                "FirstName = 'Joe'", _
                "FirstName", DataViewRowState.CurrentRows)

             ' Display Data In Data View
             For Each row As DataRowView In dv
                For i As Integer = To dv.Table.Columns.Count - 1
                   Console.Write(row(i).PadRight(20))
                Next
                Console.WriteLine()
             Next

          Catch ex As SqlException
             ' Display error
             Console.WriteLine("Error: " & ex.ToString())
          Finally
             ' Close Connection
             thisConnection.Close()
             Console.WriteLine("Connection Closed")
          End Try
       End Sub
    End Class


    Senao for isso me avise.
    Nelson Borges - Analista de Sistemas
    • Marcado como Resposta Heloisa Reis sexta-feira, 13 de fevereiro de 2009 14:21
    sexta-feira, 13 de fevereiro de 2009 02:51

Todas as Respostas

  • Vc preenche o DataGridView com um DataTable ?

    Olhe um exemplo de um datatable para Dataview.

    Imports System
    Imports System.Data
    Imports System.Data.SqlClient


    public class MainClass
       Shared Sub Main()
          Dim thisConnection As New SqlConnection("server=(local)\SQLEXPRESS;" & _
              "integrated security=sspi;database=MyDatabase")

          ' Sql Query
          Dim sql As String = "SELECT FirstName, LastName FROM Employee"

          Try
             ' Create Data Adapter
             Dim da As New SqlDataAdapter
             da.SelectCommand = New SqlCommand(sql, thisConnection)

             ' Create and fill Dataset
             Dim ds As New DataSet
             da.Fill(ds, "Employee")

             ' Get The Data Table
             Dim dt As DataTable = ds.Tables("Employee")

             ' Create Data View
             Dim dv As New DataView(dt, _
                "FirstName = 'Joe'", _
                "FirstName", DataViewRowState.CurrentRows)

             ' Display Data In Data View
             For Each row As DataRowView In dv
                For i As Integer = To dv.Table.Columns.Count - 1
                   Console.Write(row(i).PadRight(20))
                Next
                Console.WriteLine()
             Next

          Catch ex As SqlException
             ' Display error
             Console.WriteLine("Error: " & ex.ToString())
          Finally
             ' Close Connection
             thisConnection.Close()
             Console.WriteLine("Connection Closed")
          End Try
       End Sub
    End Class


    Senao for isso me avise.
    Nelson Borges - Analista de Sistemas
    • Marcado como Resposta Heloisa Reis sexta-feira, 13 de fevereiro de 2009 14:21
    sexta-feira, 13 de fevereiro de 2009 02:51
  • Nelson eu fiz algumas modificações pois estava usando DataSet mas funcionou perfeito!!!!

    Obrigada

    sexta-feira, 13 de fevereiro de 2009 14:22
  • Heloisa,

    O DataTable possui uma propriedade chamada DefaultView que retorna um DataView.

    Veja:

    //Seu DataTable
    DataTable tbDados = new DataTable();
    
    //DataView obtido a partir da DataTable
    DataView dv = tbDados.DefaultView;
    
    
    

     

    Abraço!

     

    Caique Dourado

    www.caiquedourado.com.br

    terça-feira, 18 de janeiro de 2011 22:33