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

sydney_eu

[Resolvido] VB.net 2008 - ligação á BD

36 mensagens neste tópico

Olá, sou aluno do 3º ano de Informática/gestão e estamos a dar VB2008, como todos sabemos é .NET mas eu não sei como liga-lo à BD, alguém me pode mandar um tutorial ou até fazer aqui um? Necessito com urgência de ligar o meu projecto à BD... Para poder ler, alterar, editar eliminar e introduzir dados...

-Como ligar

-Como escolher a tabela e coluna

-Como procurar entre todos os dadus da coluna X

-Como apresentar dados...

etc...

www.sydney.web.pt

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu tentei fazer como tá no blog mas dá erro de sintaxe logo na ligação a base de dados...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu tentei fazer como tá no blog mas dá erro de sintaxe logo na ligação a base de dados...

Que erro ? Mostra lá a mensagem e o que tens feito.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas se me mostrasses um exemplo de como fazer em Acess eu ficava bué agradecido...  :cheesygrin:  :biggrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No blog explica (um pouco). Basicamente tens de mudar Sql... para OleDb... Por exemplo SqlCommand fica OleDbCommand.

Depois existem uma pequena diferença nos parametros ao executar os comandos T-SQL. No Access funciona assim "INSERT INTO (a,b,c) VALUES (?,?,?)"

O resto é igual.

Se quiseres experimentar faz um exemplo e caso tenhas dúvidas diz.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eh pah nao percebo nada disto fogo

agora tou na dúvida se faça com Acess, Sql Server ou MySql

Qual é melhor???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

agora tou na dúvida se faça com Acess, Sql Server ou MySql

Qual é melhor???

Depende! O que queres exactamente fazer ?

eh pah nao percebo nada disto fogo

Eu arranjo-te um exemplo simples para te mostrar como se faz.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tenho de mostrar valores da base de dados, acrescentar e modificar atraves da interface!

Se pudesses arranjar eu agradecia!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem a escolha da base de dados é importante, mas se for algo simples, em Access funciona bem e sem problemas. O SQL ou MySQL necessitam de um serviço a correr e requerem algum trabalho de configuração e administração.

Exemplo de inserir dados em Access:

        Try
            Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\myDb.mdb;"

            Dim SQL As String = "INSERT INTO Table1 ([name],[number],abc,def) VALUES (?,?,?,?)"
            
           ' Inicia uma ligação à bse de dados
            Using connection As New OleDbConnection(connString)
  
                ' Define o comando e os parâmetros
                Dim command As New OleDbCommand(SQL, connection)
                command.Parameters.Add("name", OleDbType.VarChar).Value = "jpaulino"
                command.Parameters.Add("number", OleDbType.Integer).Value = 123
                command.Parameters.Add("abc", OleDbType.VarChar).Value = "O'Brien"
                command.Parameters.Add("def", OleDbType.Date).Value = Date.Today

                ' Abre a ligação e insere o registo
                connection.Open()
                Dim x As Integer = command.ExecuteNonQuery()
                If x <> 1 Then
                    Throw New ArgumentException("Não foi possível inserir o registo na base de dados!")
                End If
            End Using

        Catch ex As Exception
            MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try

Se tiveres dúvidas diz qq coisa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

xiii,

consegui inserir dados na minha tabela usando esse exemplo...

boa malha...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

jpaulino...

podias me dar umas dicas como apagar e modificar cenas no access???

ou melhor... postavas no teu blog...

era so um exemplozinho....  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

podias me dar umas dicas como apagar e modificar cenas no access???

ou melhor... postavas no teu blog...

Quando tiver tempo coloco lá alguma coisa sobre isso, mas o que lá está já dá para teres uma ideia. O código é igual é só mudas o T-SQL

Exemplo:

    Dim SQL As String = "UPDATE Table1 SET [name]= ?, [number]= ? WHERE ID = ?"

e depois defines os parâmetros.

Diz se ajudou ou se ainda ficaram dúvidas!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ajudar ajudou...

mas ficaram duvidas...

bom, mas eu tenhu ate Março para fazer isto por isso vou procurando e fazendo puco a pouco...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Imports System.Data.SqlClient

   
' Texto de ligação à base de dados
Dim myConnectionString As String = _
"Data Source=.\SQLEXPRESS;AttachDbFilename='C:\myDatabase.mdf';" & _
";Integrated Security=True;User Instance=True"
   
' Selecção à  tabela "MyTable" em que o campo "username"
' será passado através de parâmetros posteriormente
Dim SQL As String = "SELECT * FROM myTable WHERE [username] = @username"

' Cria uma nova ligação à base de dados
Dim connection As New SqlConnection(myConnectionString)
    
' Criação do comando indicando a instrução e a ligação
Dim command As New SqlCommand(SQL, connection)

' Indicação dos parâmetros da selecção
command.Parameters.Add("@username", SqlDbType.VarChar).Value = "jpaulino"  

' Abre a ligação
connection.Open()

' Executa o comando colocando num SqlDataReader os resultados
Dim reader As SqlDataReader = command.ExecuteReader()


' Caso existam rows (linhas)
If reader.HasRows Then

    ' Executa um ciclo nas linhas existentes mostrando o campo “username”
     While reader.Read()
        Debug.WriteLine(reader.Item("username"))
     End While

End If

' Fecha a ligação e limpa as variáveis
connection.Close()
connection = Nothing
command = Nothing

by: jpaulino

tirei este código do blog do jpaulino (espero que ele não se chateie)

Precisava de ajuda para converter de sql para Access e além disso gostava de mostrar os resultados numa textbox

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas tu tens aqui um exemplo: http://www.portugal-a-programar.pt/index.php?showtopic=21684

O que muda é aqui:

Dim reader As SqlDataReader = command.ExecuteReader()

passa a:

Dim reader As OleDblDataReader = command.ExecuteReader()

tirei este código do blog do jpaulino (espero que ele não se chateie)

Claro que não :D

PS: Não utilizes sempre o mesmo tópico para colocares dúvidas. Novas questões, novos tópicos (e com titulos bem identificativos). Deste modo consegues ajuda muito mais depressa e fica tudo mais organizado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu pensei que o que era incorrecto era abrir outro tópico quando já ta cá este a falar de bases de dados em access....

agora o que necessitava era mostrar essa informação numa textbox ou assim....

While reader.Read()

        Debug.WriteLine(reader.Item("username"))

End While

tipo isto, só que numa text box

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para mostrares a informação em uma textbox só precisas de fazer:

Me.TextBox1.Text = reader.Item("username")

Em vez de:

Debug.WriteLine(reader.Item("username"))

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas assim vai só mostrar o ultimo dado inserido e uma cria uma lista....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas assim vai só mostrar o ultimo dado inserido e uma cria uma lista....

Sim, é claro. Por isso é que no comando SQL (T-SQL) deves fazer:

"SELECT * FROM minhaTabela WHERE ID = 3"  ' por exemplo

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, é claro. Por isso é que no comando SQL (T-SQL) deves fazer:

"SELECT * FROM minhaTabela WHERE ID = 3"  ' por exemplo

E o id é igual ao 3, que é respectivo a? :-[

Esquece lá isto -.-'

Tou cheio de sono, pensava que tava a falar no outro tópico, desculpa  :dontgetit:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nesta situação eu cria mesmo mostrar a tabela inteira... como faço????

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora