Ir para conteúdo

POWERED BY:

Arquivado

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

webfuture

Problema com conexão access e insert

Recommended Posts

Olá galera, estou com um probleminha aqui, estou trabalhando com visual studio 2010 criando uma aplicação em VB, tenho um windows form com alguns textbox e um botão no final da tela que a ação dele seria gravar os dados preenchidos no banco de dados access 2003.

 

Vejam o código:

 


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim valor As String
        Dim conn As New OleDbConnection()

        valor = "c:\dados.mdb"
        conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & valor
        Dim cmd As OleDbCommand = conn.CreateCommand
        cmd.CommandText = "Insert into Clientes Values (11,'Teste De Inclusão','Rua Teste no 10','061-123456','10/11/1965')"
        Try
            conn.Open()
            cmd.ExecuteNonQuery()
            conn.Close()
            MsgBox("Registro incluido com sucesso !", MsgBoxStyle.Information, "Incluindo registros")
        Catch erro As Exception
            MsgBox("Erro " & vbCrLf & erro.ToString, MsgBoxStyle.Critical, "Erro")
        End Try

    End Sub

Andei efetuando uns testes e buscas na internet mas não encontrei ainda uma solução para os erros:

 

Type oledbconnection is not defined

Type oledbcommand is not defined

type sqlconnection is not defined

type sqlcommand is not defined

 

Tenho alguns outros exemplos de scripts que testei mas sempre me deparo com os erros acima, não sei se tenho que fazer referencia a alguma biblioteca de conexão oledb para isto funcionar, se bem que procurei alguma mas como não sabia a certa não fiz a referencia, talves seja isso.

 

Alguém pode me dar um help ?

Xavier

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, você precisa referenciar a biblioteca correta.

 

O mais correto seria você pedir ajuda em .Net, que você poder te explicar melhor como fazer essa referência.

 

Vou pedir para transferir para lá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, apesar d existir 1 controle p/ conexão especifico p/ o Access, sinto mt, não funciona..

em principio você precisa criar 1 connection string;

p exemplo:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\teste_web_developer\app_data\noticias.mdb

mas só isso não resolve, claro.. p/ facilitar

uso o sql data source mesmo, nunca deu problema

faço assim: na toolbox (você precisa estar c/ 1 pg aberta)

aciono data - sql data source - arrasto o icone p/ a pg

(modo "Design) - ao lado do controle vai surgir 1 quadrinho c/ 1 ponta d seta;

clique nela e entre em "configure data source", vai se iniciar 1 assistente - você indica qual banco de dados quer acessar, o caminho etc, a tabela, campos.. td bem intuitivo..

como o banco é access, você terá uma tela ("advanced") onde você já pode inserir instruções "Insert", Update e "Delect" automaticamente, testar a conexão etc.

só 1 alerta: p/ habilitar a opção "advanced" você terá q incluir o campo chave primária da tabela (quadro "Columns") só q essas instruções as vezes precisam d alguns pequenos ajustes,

mas isso é bem simples;

basta selecionar o controle data source, clicar c/ o direito e ir em properties (propriedades),

ai você pode ajustar a instrução, definir parametros ..

+ 2 dicas: - se você criar corretamente a conexão, ela ficará disponivel em "database explorer" e você poderá usa-la em outras pgs (a mesma conexão, facilita bastante)

- se possivel, salve seu banco de dados na pasta app_data, ai a criação de alguns recursos - como data grid, por exemplo, fica quase automatica, é só arrastar a tabela p/ a pg q a conexão é feita automaticamente..

 

tenho um windows form com alguns textbox

feita a conexão, ai você pode ir nas propriedades das cxs d texto e conectar (bindings) aos campos da tabela do bd, mas existe 1 jeito + facil, você pode inserir 1 controle "form view" e configurar na fonte d dados (sql data source) q eu expliquei acima ou ate mesmo fazer o inverso; arraste o form p/ sua pg e entre em configure data source (cf explique acima), ok?

tente ai e boa sorte

 

complementando: se configuradas corretamente a conexão e as instruções (Insert, Update e delete),

automaticamente o controle form view já será criado com 1 link p/ você editar o registro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Webfuture

 

Se ainda precisar de ajuda vou mostrar um codigo abaixo que faz o que você está precisando. Segue:

 

Imports System.Data.OleDb

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim conexao As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\banco.mdb")
        Dim query As String = "insert into tabela (campo) values ('Teste de inclusao')"

        conexao.Open()
        
        Dim comando As New OleDbCommand(query, conexao)
        If comando.ExecuteNonQuery() = 1 Then
            MessageBox.Show("Inclusão efetuada com sucesso")
        Else
            MessageBox.Show("Falha na gravação")
        End If
        
        conexao.Close()

    End Sub
End Class

O ExecuteNonQuery executa a query e devolve o número de linhas afetadas.

Espero que ajude!

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.