none
Dataset e Gridview RRS feed

  • Pergunta

  •  

    Ola pessoal,

    tenho umas duvidas de como fazer para ler uma tabela do ACCESS e gravar os dados no SQL, segue o codigo:

     

    Dim Conexao As OleDbConnection

    Dim DA As OleDbDataAdapter

    Dim DS As DataSet

    Dim Sql As String

    'Monta uma instrução SQL para selecionar as colunas da tabela produtos

    Sql = "SELECT * FROM [Controle de Equipamentos]"

    'Abre conexão com o banco de dados

    Conexao = New OleDbConnection(ConStr)

    Conexao.Open()

    'Cria um novo objeto OleDbDataAdapter

    DA = New OleDbDataAdapter(Sql, Conexao)

    'Preenche o DataSet com o conteúdo selecionado da tabela

    DS = New DataSet

    DA.Fill(DS, "equipamentos")

    'Fecha os objetos DataAdapter e Connection

    Conexao.Close()

    DA = Nothing

    Conexao = Nothing

    'exibe uma visão customizada da tabela produtos inserida no dataset

    GridViewExibeDados.DataSource = DS.Tables("equipamentos").DefaultView

    até aqui tudo ok, minha duvida é como gravar estes dados no SQL

     

    INSERT INTO TABELA1 (Campo1,Campo2,Campo3)

    VALUES (Este valor de onde pego? do DATASET ou do GRIDVIEW)  e como ?

     

    estou usando o VS2005 Windows Form.

    quinta-feira, 8 de novembro de 2007 16:59

Respostas

  • Olá Maricelmo,

     

    Voce pode fazer assim, percorrendo o dataset e gravando no banco:

     

    Dim ds As New DataSet

    For i As Integer = 0 To ds.Tables("equipamentos").Rows.Count - 1

    Gravar(ds.Tables("equipamentos").Rows(i).Item("SeuCampo1").ToString(), _

    ds.Tables("equipamentos").Rows(i).Item("SeuCampo2").ToString(), _

    ds.Tables("equipamentos").Rows(i).Item("SeuCampo3").ToString())

    Next

     

     

    Public Sub Gravar(ByVal campo1 As Integer, ByVal campo2 As String, ByVal campo3 As String)

    Dim ConStr As String

    Dim strUpdate As String = "INSERT INTO TABELA1 (Campo1,Campo2,Campo3) VALUES (" & campo1 & ", '" & campo2 & "', '" & campo3 & "')"

     

    Dim Conexao As New OleDbConnection(ConStr)

    Dim cmd As New OleDbCommand

     

    cmd.CommandText = strUpdate

    cmd.CommandType = CommandType.Text

    cmd.Connection = Conexao

     

    Conexao.Open()

     

    cmd.ExecuteNonQuery()

     

    Conexao.Close()

    End Sub

     

    Note: Não estou considerando questões de segurança, OOP, Performance nem tratamento de erros.

    quarta-feira, 14 de novembro de 2007 10:15

Todas as Respostas

  • Olá Maricelmo,

     

    Voce pode fazer assim, percorrendo o dataset e gravando no banco:

     

    Dim ds As New DataSet

    For i As Integer = 0 To ds.Tables("equipamentos").Rows.Count - 1

    Gravar(ds.Tables("equipamentos").Rows(i).Item("SeuCampo1").ToString(), _

    ds.Tables("equipamentos").Rows(i).Item("SeuCampo2").ToString(), _

    ds.Tables("equipamentos").Rows(i).Item("SeuCampo3").ToString())

    Next

     

     

    Public Sub Gravar(ByVal campo1 As Integer, ByVal campo2 As String, ByVal campo3 As String)

    Dim ConStr As String

    Dim strUpdate As String = "INSERT INTO TABELA1 (Campo1,Campo2,Campo3) VALUES (" & campo1 & ", '" & campo2 & "', '" & campo3 & "')"

     

    Dim Conexao As New OleDbConnection(ConStr)

    Dim cmd As New OleDbCommand

     

    cmd.CommandText = strUpdate

    cmd.CommandType = CommandType.Text

    cmd.Connection = Conexao

     

    Conexao.Open()

     

    cmd.ExecuteNonQuery()

     

    Conexao.Close()

    End Sub

     

    Note: Não estou considerando questões de segurança, OOP, Performance nem tratamento de erros.

    quarta-feira, 14 de novembro de 2007 10:15
  • Valeu Daniel Braga, Obrigado! funcionou!!!

     

    quarta-feira, 14 de novembro de 2007 15:35