Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

scorch

BD Access em VB.NET 2008 EXPRESS

Recommended Posts

scorch

Boas, se alguém aqui no fórum souber e me puder explicar como trabalhar com BDs do Access com o VB.NET 2008 EXPRESS, agradecia. Ou então que coloque o link de algum tutorial. Já utilizei o método tradicional (Google Search) e nada de jeito para o VB.NET 2008 EXPRESS.

Obrigado desde já. ;)


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
scorch

Using connection As New OleDbConnection(Gestao_Jogadores.My.Settings.ligacaobd)

                ' Define o comando e os parâmetros
                Dim command As New OleDbCommand(lm, connection)

EDIT: Não percebi muito bem o lm, é o nome do ficheiro Access? ;)

Como é que eu defino o ficheiro ACCESS, já percebi que o lm é a "query".

Tenho de importa-lo? :D Se sim, como?


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
José Lopes

naquele sítio parece-me ser a instrução de SQL


Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

Share this post


Link to post
Share on other sites
jpaulino

naquele sítio parece-me ser a instrução de SQL

Yep, está um pouco mais acima ...

Dim lm As String = "UPDATE Perfil_Jogadores SET Nome_jogador=?,Data_nasc=?,Cidade_natal=?,Pais=?,Posicao=?,Ordenado_semanal=?,Estado=? where [iD_Jogador]=?"

Share this post


Link to post
Share on other sites
scorch

Se eu quiser fazer uma espécie de programa tipo portable, à alguma maneira de incluir a BD como no PHP, através do nível actual. Por exemplo, tenho o ficheiro executável numa pasta e a BD Access na mesma, em vez de fazer "C:\", fazer "./bd.accdb"?

E no exemplo, tem SQLEXPRESS, troco por ACCESS? ;)


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
jpaulino

Vê este exemplo que preenche uma combobox

http://vbtuga.blogspot.com/2008/10/vbnet-utilizando-o-controlo-combobox.html

Se eu quiser fazer uma espécie de programa tipo portable, à alguma maneira de incluir a BD como no PHP, através do nível actual. Por exemplo, tenho o ficheiro executável numa pasta e a BD Access na mesma, em vez de fazer "C:\", fazer "./bd.accdb"?

Podes fazer Application.StartupPath & "\dados.mdb"

Agora tens de alterar a connection string, uma vez que estás a usar Access2007. Vê aqui alguns exemplos:

http://www.connectionstrings.com/access-2007

Share this post


Link to post
Share on other sites
scorch

Amanhã leio isso e depois experimento. ;)


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
scorch

Estive a fazer umas experiências, mas ele dá erro.

Tenho o seguinte código:


Dim myConnectionString As String = _
        "provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\" & Application.StartupPath & "projecto_bd.mdb;Persist Security Info=False;"
        Dim connection As New SqlConnection(myConnectionString)
        Dim SQL As String = "SELECT username, password FROM mm_users WHERE ID = @ID;"
        'Dá erro aqui, no "da"
        Dim da As New OleDbDataAdapter(SQL, connection)
        da.SelectCommand.Parameters.Add("2ID", OleDbType.VarChar).Value = SESSION_id
        connection.Open()

O erro é:

Error 2 Overload resolution failed because no accessible 'New' can be called with these arguments:

    'Public Sub New(selectCommandText As String, selectConnection As System.Data.OleDb.OleDbConnection)': Value of type 'System.Data.SqlClient.SqlConnection' cannot be converted to 'System.Data.OleDb.OleDbConnection'.

    'Public Sub New(selectCommandText As String, selectConnectionString As String)': Value of type 'System.Data.SqlClient.SqlConnection' cannot be converted to 'String'. C:\Users\utilizador\Documents\Visual Studio 2008\Projects\projrcto\projecto\Gerir.vb 19 13 Projecto1


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
jpaulino

Duas coisas mal/que não entendo:

Ou usas uma ou outra |DataDirectory| ou Application.StartupPath

Altera para :

Dim myConnectionString As String = _

        "provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\projecto_bd.mdb;Persist Security Info=False;"

Mas além disso, o formato não deve ser mdb ... Não estás a usar Office 2007 ?

Share this post


Link to post
Share on other sites
scorch

Não, estou a usar 2003, disseram-me que ocupava menos espaço e tinha mais funções/era mais fácil de integrar.

No entanto, contínua a dar o mesmo erro.


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
jpaulino

Não, estou a usar 2003, disseram-me que ocupava menos espaço e tinha mais funções/era mais fácil de integrar.

No entanto, contínua a dar o mesmo erro.

Claro! A connection string é diferente.

Usa algo assim: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;"

Share this post


Link to post
Share on other sites
scorch

O User Id=admin;Password= é mesmo necessário?

E o erro persiste. ;)


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
jpaulino

O User Id=admin;Password= é mesmo necessário?

E o erro persiste. ;)

~

Podes não utilizar (caso não tenhas definido)

Deve dar assim:

Dim myConnectionString As String = _
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\projecto_bd.mdb;"

Mas é melhor verificares se a base de dados está mesmo junto ao exe ... faz isto:

If Not Io.File.Exists(Application.StartupPath & "\projecto_bd.mdb") Then
   MessageBox.Show("O ficheiro não foi encontrado")
End If

Share this post


Link to post
Share on other sites
scorch

Sim, está. Já não dá erro.

Resolvido, o código fica assim:


Dim myConnectionString As String = _
        "provider=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "projecto_db.mdb;Persist Security Info=False;"
        Dim connection As New OleDbConnection(myConnectionString)
        Dim SQL As String = "SELECT username, password FROM mm_users WHERE ID = @ID;"
        
        'Aqui não era SQL mas sim OleDb
        Dim da As New OleDbDataAdapter(SQL, connection)
        da.SelectCommand.Parameters.Add("2ID", OleDbType.VarChar).Value = SESSION_id
        connection.Open()


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.