Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

webfuture

Como gravar dados em bd access

Recommended Posts

Boa noite pessoal, estou com uma dúvida, estou começando a programar em VB, programo em asp e php há bastante tempo mas em vb não muito, sei que é bem parecido com asp mas tenho duvidas em alguns itens como por exemplo eu tenho em um form dois campos text sei como pegar o valor deles mas para gravar no banco é que esta o problema, em teste tentei gravar em um banco de dados access, vi na internet um codigo que era bem proximo do asp mas tentei e não foi certo, acredito que precise definir conexão ou algo mais, alguem tem como me ajudar ?

 

Olhem o código que tenho ate agora, quando clica no botão entrar por exemplo:

 


 Private Sub entrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles entrar.Click

        If usuario.Text = "administracao" And senha.Text = "teste" Then

            Dim sql
            Dim oODBCConnection As Odbc.OdbcConnection
            Dim sConnString As String = _
                     "Driver={Microsoft Access Driver (*.mdb)};" & _
                    "Dbq=c:\projeto\dados.mdb;" & _
                   "Uid=Admin;" & _
                   "Pwd="
            oODBCConnection = New Odbc.OdbcConnection(sConnString)
            oODBCConnection.Open()

            sql = "insert into tb_usuarios(usuario, senha) values(" '" & usuario & "'","'" & senha & "'")"
            oODBCConnection.Execute(sql)
           
            Me.Hide()
            home.Show()
        Else
            MsgBox("Acesso negado, verifique seu usuário e senha !")
        End If

    End Sub

Com este codigo da o seguinte erro:Error 'Execute' is not a member of 'System.Data.Odbc.OdbcConnection'.

 

No form inicial eu tenho os dois campos ai tentei fazer no banco para testar não vai ser esta a função.

 

 

Xavier

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente a forma como deve fazer é quase idêntica ao que faz em ASP. A única diferença é que em ASP você usa o createobject para criar sua variável de conexão, e no VB você adiciona o componente certo.

 

Mas olha só, ao invés de trabalhar com o odbc, trabalhe com ADODB. Te dará um suporte bem melhor e vai funcionar esse execute que está dando erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Webfuture:

 

Caro:

 

Defina 3 variáveis dessa forma:

 

Public massa As Workspace

Public banco As Database

Public regvenda As Recordset

 

Depois abra a conexão em algum ponto do programa (1 vez somente)

Set massa = Workspaces(0)

 

Depois abra o banco de dados propriamente dito (1 vez somente)

Set banco = massa.OpenDatabase(App.Path & "\loja.mdb", False, False, ";pwd=auau")

Se não tiver senha tire o ";pwd=auau"

 

Para acessar os recordsets ou tabela, use:

 

Set regvenda = banco.OpenRecordset("loja", dbOpenTable)

onde loja é o nome de uma tabela.

 

Se desejar abrir com select, use:

 

Set regvenda= banco.OpenRecordset("select * from cliente" _

& " where ccodicli = '" & icodcli.Text & "'")

 

 

Post se deu certo.

 

Alex.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Alex, antes de ver este post havia feito um teste no VB6 com o seguinte código:

 


Dim cn As New ADODB.Connection
Dim sql As String
Dim rs As New ADODB.Recordset

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\projeto\dados.mdb;User Id=admin;Password="
cn.Open()

sql = "Select nome, usuario, senha from tb_usuarios"
rs.CursorLocation = adUseClient
rs.Open(sql, cn, adOpenForwardOnly, adlockpessimistic)

         If usuario.Text = "administracao" And senha.Text = "102030" Then
            If rs.EOF Then
                MsgBox("Não há dados para exibir ! ")
            Else
                nome_conta = rs.Fields("nome")
                empresa = rs.Fields("usuario")
                email = rs.Fields("senha")
            End If

            Me.Hide()
            home.Show()
        Else
            MsgBox("Acesso negado, verifique seu usuário e senha !")
        End If

Funciona perfeito no VB 6 mas no 2008 ou 2010 usando visual studio olha os erros

 

Tentei algumas coisas mas não consegui ainda fazer funcionar.

 

Error 1 Name 'adUseClient' is not declared. C:\Projeto\WindowsApplication1\WindowsApplication1\Form1.vb 68 33 WindowsApplication1

Error 2 Name 'adOpenForwardOnly' is not declared. C:\Projeto\WindowsApplication1\WindowsApplication1\Form1.vb 69 30 WindowsApplication1

Error 3 Name 'adlockpessimistic' is not declared. C:\Projeto\WindowsApplication1\WindowsApplication1\Form1.vb 69 49 WindowsApplication1

Error 4 Name 'nome_conta' is not declared. C:\Projeto\WindowsApplication1\WindowsApplication1\Form1.vb 78 17 WindowsApplication1

Error 5 Name 'empresa' is not declared. C:\Projeto\WindowsApplication1\WindowsApplication1\Form1.vb 79 17 WindowsApplication1

Error 6 Name 'email' is not declared. C:\Projeto\WindowsApplication1\WindowsApplication1\Form1.vb 80 17 WindowsApplication1

 

 

Xavier

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá..

 

Se intendi direito você quer fazer um sistema de login né?

 

 

 

Segue link de um exemplo de um projeto com Validação de Login, Novo Usuario e Sistema de Permisões

 

Projeto

 

 

Espero que ajude.

 

Att Thiago Thomaz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.