thor28 0 Denunciar post Postado Novembro 8, 2010 Amigos, estou com dificuldade de ler um datagrid gerado para poder escrever em um BD em access. O programa lê um arquivo do Excel e mostra em um datagrid que deveria ser lido novamente e alimentado um BD do Access, porém não sei como proceder. Meu código inacabado: Private Sub btnCarrega_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCarrega.Click Dim strConnExcel As String = "Provider=Microsoft.ACE.OLEDB.12.0;" _ & "Data Source=D:\\Arquivo.xlsx;" _ & "Extended Properties=""Excel 12.0 Xml; IMEX=1; HDR=YES;""" 'HDR Skip the first line on Excel Try Catch ex As Exception Me.lblMessage.Text = "Erro na conexão com a planilha. " & ex.Message End Try 'Create the connection from Excel Dim objConnExcel As New OleDbConnection(strConnExcel) Dim strSqlExcel As String = "SELECT * FROM [plan1$] " Dim cmdExcel As New OleDbCommand(strSqlExcel, objConnExcel) Try 'Open the connection and run the SQL and links to DataGrid to view data objConnExcel.Open() dtgArquivo.DataSource = cmdExcel.ExecuteReader() dtgArquivo.DataBind() '************************************************* 'Now I need to write in the Access BD Dim strSql2 As String Dim objConnAccess As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" _ & "Data Source=D:\\BD.accdb;" _ & "Persist Security Info=False;") Try objConnAccess.Open() Dim cmdAccess As New OleDBCommand(strSql2, objConnAccess) Dim readerAccess As OleDbDataReader readerAccess = cmdAccess.ExecuteReader() If readerAccess.HasRows Then While readerAccess.Read() strSql2 = "INSERT INTO Table (StringValue) VALUES ('" & readerAccess.getValue(0) & "','" & readerAccess.getValue(0) & "')" Dim objCmd1 As New OleDbCommand(strSql2, objConnAccess) End While End If readerAccess.Close() Catch exc As Exception Response.Write(exc.ToString()) Finally objConnAccess.Close() End Try '****************************************************** Catch exc As Exception Response.Write(exc.ToString()) Finally objConnExcel.Close() End Try End Sub Compartilhar este post Link para o post Compartilhar em outros sites
Daniel LM Costa 2 Denunciar post Postado Novembro 8, 2010 Você conseguiu carregar o datagrid só não conseguiu alimentar o Access ??? Ou nem exibir no DataGrid ?? Compartilhar este post Link para o post Compartilhar em outros sites
thor28 0 Denunciar post Postado Novembro 9, 2010 Você conseguiu carregar o datagrid só não conseguiu alimentar o Access ??? Ou nem exibir no DataGrid ?? Olá, obrigado pelo interesse. Sim ele exibe os dados do Excel no datagrid. Agora não estou sabendo fazer ler estes dados da tabela gerada (datagrid) e gravar no Access. Na verdade eu precisava que somente uma coluna fosse passada pro banco, que se refere ao número do cliente. Obrigado!! Compartilhar este post Link para o post Compartilhar em outros sites
Daniel LM Costa 2 Denunciar post Postado Novembro 11, 2010 Perdão não havia visto a tua resposta ....................................... Vamos lá, você deve fazer assim Digamos, que datagrid se chama "dgTeste" Você deve colocar verificar o id da coluna IdCliente Seria interessante você interromper o código (F9) e procura os nomes com dgTeste.columns(0).columnname dgTeste.columns(1).columnname dgTeste.columns(2).columnname For Each dg As DataGridViewRow In dgTeste.Rows dim idcliente as string = dg.Cells("idcliente").Value Next qq coisa é só postar Compartilhar este post Link para o post Compartilhar em outros sites