Ir para conteúdo
Fórum Script Brasil
  • 0

[Duvida]Abrir banco de dados access[erro]


admpatiosantos

Pergunta

Bom dia.

Estou com uma duvida muito incomodativa, sobre banco de dados access.

La vai.

Estou desenvolvendo um programinha que faz cadastros das informações das rodas, com o banco de dados access.

chamei o banco de dados desta maneira:

Imports System.Data
Imports System.Data.OleDb
Module db
Public Function GetConnection() As OleDbConnection
Dim sql As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\adonias\Desktop\teste\teste.accdb"
Return New OleDbConnection(sql)
End Function
End Module
até ai ok.
criei a pagina de cadastro com os seguintes campos de teste:
txtnome.text
txtnumero.text
e abri o seguinte codigo na pagina:
Imports System.Data
Imports System.Data.OleDb
Public Class Form1
Private Sub gravar()
Using con As OleDbConnection = GetConnection()
Try
con.Open()
Dim sql As String = "insert into teste (nome,numero) values(?,?)"
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
cmd.Parameters.Add(New OleDb.OleDbParameter("@nome", txtnome.Text))
cmd.Parameters.Add(New OleDb.OleDbParameter("@numero", txtnumero.Text))
txtnome.Text = ""
txtnumero.Text = ""
cmd.ExecuteNonQuery()
MsgBox("Salvo com Sucesso", MsgBoxStyle.Information)
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
End Try
End Using
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub btmsalvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btmsalvar.Click
gravar()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btminfor.Click
Form2.Show()
End Sub
End Class
até ai tudo bem novamente, consigo cadastrar vai para o banco de dados, esta tudo correto.
Depois criei mais uma pagina de consulta, com os seguintes campos datagridview, btnvisualizar, txtnome, txtnumero.
fiz desta maneira porque vai aparecer no datagrid as informaçoes do banco de dados, ao selecionar a informação abrir pressionando o botao visualizar, que vai aparecer nos campos txtnome e txtnumero, codigo usado:
Imports System.Data
Imports System.Data.OleDb
Public Class Form2
Private Sub carregar()
Using con As OleDbConnection = GetConnection()
Try
con.Open()
Dim sql As String = "select nome from teste"
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim dt As DataTable = New DataTable
da.Fill(dt)
dgr.DataSource = dt
Catch ex As Exception
Finally
con.Close()
End Try
End Using
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
carregar()
End Sub
Private Sub data()
Dim dr As OleDbDataReader = Nothing
Using con As OleDbConnection = GetConnection()
Try
con.Open()
Dim sql As String = "select nome,numero from teste where nome" & dgr.CurrentRow().Cells(0).Value()
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
dr = cmd.ExecuteReader(CommandBehavior.SingleRow)
If dr.HasRows Then
dr.Read()
End If
txtnome.Text = dr.Item("nome")
txtnumero.Text = dr.Item("numero")
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
dr.Close()
End Try
End Using
End Sub
Private Sub btmv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btmv.Click
data()
End Sub
End Class
Porem da erro gostaria de saber o porque?
o erro que da é este:
Erro:{"Object reference not set to an instance of an object."}
e no programa marca a seguinte linha de codigo: dr.Close() em amarelo
Obrigado e precisando muito desta força.
admpatiosantos@gmail.com
marco antonio
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...