Jump to content

BD Access em VB.NET 2008 EXPRESS


scorch
 Share

Recommended Posts

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á. 😉

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

Link to comment
Share on other sites

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? 😄 Se sim, como?

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

Link to comment
Share on other sites

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? 😉

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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 ?

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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()

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

Link to comment
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
 Share

×
×
  • Create New...

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.