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

Sir Pereira

[RESOLVIDO] Eu e as bases de dados...

18 mensagens neste tópico

Boas pessoal,

este assunto para mim já é há algum tempo um pouco actual, pois NUNCA consegui utilizar o VisualBasic.NET e as bases de dados.

Se calhar alguns de vós agora dizem: "OMG, isso é facílimo :eek:"

Okok, se vocês o dizem :P

Mas não me consigo entender com isto, e vocês agora dizem "então posta as dúvidas que tens".

O problema é que eu não tenho dúvidas porque não percebo como o posso fazer LOL

Se alguém me pudesse explicar no meu computador ou assim (pelo TeamViewer por exemplo) agradecia muito.

Nem que fossem só as bases, só para me ir orientando :)

É que gostava de começar a desenhar outro tipo de aplicações.

Cumprimentos,

Sir Pereira

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas não sabes usar VB.NET juntamente com as bases de dados ou não sabes mesmo usar VB.NET ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas não sabes usar VB.NET juntamente com as bases de dados ou não sabes mesmo usar VB.NET ?

LOL

claro que sei usar VB.NET ;) Buttpt, sou o DJ_BloodHunter, yah? Mudei foi de nick  :cheesygrin:

Lembras-te? :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olha, uma coisa, não dá para fazer um programa com a BD integrada nele próprio? Não sendo dependente do uso de SQL Server e isso?

Dá, podes por exemplo usar SQLite

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@lordnins: obrigado ;)

outra coisa, não dá, para tipo criar as tabelas no VisualBasic Express? Eu acho que já tinha visto uma opção para isso. Acho.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@lordnins: obrigado ;)

outra coisa, não dá, para tipo criar as tabelas no VisualBasic Express? Eu acho que já tinha visto uma opção para isso. Acho.

Se tiveres a falar do SQLite o melhor e veres info no site oficial ou com o nosso amigo google, mas penso que já vi algures um binding para .Net em que usavas SQLite com ADO.Net da mesma maneira que SQLServer

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se tiveres a falar do SQLite o melhor e veres info no site oficial ou com o nosso amigo google, mas penso que já vi algures um binding para .Net em que usavas SQLite com ADO.Net da mesma maneira que SQLServer

Por acaso não estava, sei que é uma opção mesmo no Visual Basic Express.

Outra coisa, como posso integrar o SQLite no VisualBasic Express? Tentei colocar como referência umas DLL's que saquei mas diz-me que são inválidas ou o que é.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se tiveres a falar do SQLite o melhor e veres info no site oficial ou com o nosso amigo google, mas penso que já vi algures um binding para .Net em que usavas SQLite com ADO.Net da mesma maneira que SQLServer

O SQlLite funciona sem um serviço a correr ?

Nunca usei, mas o único que conheco que permite isso é o Access.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O SQLite funciona sem serviço. O SQLite é o SGBD não precisa de + nada para correr vê o site oficial que percebes isso.

Por acaso não estava, sei que é uma opção mesmo no Visual Basic Express.

Outra coisa, como posso integrar o SQLite no VisualBasic Express? Tentei colocar como referência umas DLL's que saquei mas diz-me que são inválidas ou o que é.

Em relação às tabelas não sei se as versões express dão para fazer isso.

Em relação ao SQLite vê este site System.Data.SQLite parece-me ser a melhor versão do SQLite free para a plataforma .Net, mas eu só agora é que me lembrei as versões Express do Visual Studio têm limitações não sei se te deixa usar assemblys externas, eu uso versão profissional por isso não sei mesmo, mas para saberes melhor as limitações vê MSDN

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@lordnins: tive a verificar e instalei.

Agora tenho umas dúvidas. Imagina que queria fazer a base de dados no próprio programa.

Imagina que queria criar o ficheiro da BD no programa, e inserir lá tabelas e posteriormente dados. Tudo no Load do programa, isto é, se o ficheiro não existe claro, pois caso contrário apenas leria os dados.

Sabes explicar-me mais ou menos como fazer uma coisa deste género?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@lordnins: tive a verificar e instalei.

Agora tenho umas dúvidas. Imagina que queria fazer a base de dados no próprio programa.

Imagina que queria criar o ficheiro da BD no programa, e inserir lá tabelas e posteriormente dados. Tudo no Load do programa, isto é, se o ficheiro não existe claro, pois caso contrário apenas leria os dados.

Sabes explicar-me mais ou menos como fazer uma coisa deste género?

Acho que queres algo deste género com este tutorial já dá para perceber o funcionamento do System-Data.SQLite, e podes procurar mais info no forum do System-Data.SQLite

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@lordnins: só agora respondo ao post, mas já tinha visto a resposta.

bom, tive a testar, a fazer umas experiências e tal e pensei: 'bom, agora para começar a aprofundar a coisa, vou tentar fazer um dropdown (PS: o exemplo da listbox nao funcionava, nao listava nada) e fazer que, quando se clique num item, que mostra numa label abaixo o valor correspondente a esse ID seleccionado. então vamos testar assim:

Private Sub cmb_alunos_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_alunos.SelectedIndexChanged
        Dim SQLconnect As New SQLite.SQLiteConnection()
        Dim SQLcommand As SQLite.SQLiteCommand
        SQLconnect.ConnectionString = "Data Source=" & "C:\escola.db3" & ";"
        SQLconnect.Open()
        SQLcommand = SQLconnect.CreateCommand
        SQLcommand.CommandText = "SELECT * FROM aluno"
        Dim SQLreader As SQLite.SQLiteDataReader = SQLcommand.ExecuteReader()
        If cmb_alunos.Text = (String.Format("{0}", SQLreader("id"))) Then
            lbl_NomeAluno.Text = (String.Format("{1}", SQLreader("1")))
        End If
        SQLcommand.Dispose()
        SQLconnect.Close()
    End Sub

Mas deu-me erro em:

            lbl_NomeAluno.Text = (String.Format("{1}", SQLreader("1")))

Índice fora dos limites da matriz.

A que se deverá isto?

Aqui está o meu código de criação das tabelas se puder ajudar:

    Dim SQLconnect As New SQLite.SQLiteConnection()
        Dim SQLcommand As SQLite.SQLiteCommand
        SQLconnect.ConnectionString = "Data Source=" & "C:\escola.db3" & ";"
        SQLconnect.Open()
        SQLcommand = SQLconnect.CreateCommand
        'Insert Record into Foo
        SQLcommand.CommandText = "INSERT INTO aluno (nome, idade, localidade) VALUES ('Ivo Pereira', '16', 'Beja')"
        SQLcommand.ExecuteNonQuery()
        SQLcommand.Dispose()
        SQLconnect.Close()
    

Cumps :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Resolvido.

Ficou assim:

    Private Sub cmb_alunos_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_alunos.SelectedIndexChanged
        Dim SQLconnect As New SQLite.SQLiteConnection()
        Dim SQLcommand As SQLite.SQLiteCommand
        SQLconnect.ConnectionString = "Data Source=" & "C:\escola.db3" & ";"
        SQLconnect.Open()
        SQLcommand = SQLconnect.CreateCommand
        SQLcommand.CommandText = "SELECT * FROM aluno"
        Dim SQLreader As SQLite.SQLiteDataReader = SQLcommand.ExecuteReader()
        If cmb_alunos.Text = (String.Format("{0}", SQLreader("id"))) Then
            lbl_NomeAluno.Text = SQLreader("nome")
        End If
        SQLcommand.Dispose()
        SQLconnect.Close()
    End Sub

Agora tenho outro problema, pus para que isto inserisse os seguintes dados na tabela:

Nome: João Botelho

Idade: 21

Localidade: Lisboa

Pus os comandos do insert num botão, carreguei e tal.

E aparecem-me 3 nomes "Ivo Pereira" na label como aparece no código acima.

Código do Form_Load:

Dim SQLconnect As New SQLite.SQLiteConnection()
        Dim SQLcommand As SQLite.SQLiteCommand
        SQLconnect.ConnectionString = "Data Source=" & "C:\escola.db3" & ";"
        SQLconnect.Open()
        SQLcommand = SQLconnect.CreateCommand
        SQLcommand.CommandText = "SELECT * FROM aluno"
        Dim SQLreader As SQLite.SQLiteDataReader = SQLcommand.ExecuteReader()
        cmb_alunos.Items.Clear()
        While SQLreader.Read()
            cmb_alunos.Items.Add(String.Format("{0}", SQLreader(0)))
        End While
        SQLcommand.Dispose()
        SQLconnect.Close()

O código acima carrega as coisas para a combobox.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eh lá, tantas respostas  :cheesygrin:  :)

Bom, mas já consegui resolver.

Agora ando aqui com outros problemazitos, mas tou a conseguir dar conta deles :P

Cumps.

RESOLVIDO.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpa lá não ter respondido mas não tenho tido tempo, mas ainda bem que já resolves-te, uma sugestão pões a solução ai para caso alguem tenha o mesmo problema o consiga resolver.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

era só alterar o código que tinha no post anterior para este:

Dim SQLconnect As New SQLite.SQLiteConnection()
        Dim SQLcommand As SQLite.SQLiteCommand
        SQLconnect.ConnectionString = "Data Source=" & "C:\escola.db3" & ";"
        SQLconnect.Open()
        SQLcommand = SQLconnect.CreateCommand
        SQLcommand.CommandText = "SELECT * FROM aluno"
        Dim SQLreader As SQLite.SQLiteDataReader = SQLcommand.ExecuteReader()
        cmb_alunos.Items.Clear()
        While SQLreader.Read()
            cmb_alunos.Items.Add(String.Format("{0}", SQLreader("nome"))
        End While
        SQLcommand.Dispose()
        SQLconnect.Close()

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