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

Furriel

[VB.NET 2003] Enviar dados para a Base de Dados!!!

10 mensagens neste tópico

Olá a todos,

Como o assunto do tópico indica, estou com dúvidas se hei-de usar ficheiro ou base de dados para guardar informações de um form.

Passo a explicar o fim da aplicação. Estou a fazer uma aplicação que mostra uma lista de disciplinas de um curso e o utilizador deve seleccionar através de uma checkbox se já fez a disciplina e à frente a respectiva nota.

Exemplo:

                            Disciplina 1            checkbox1                  textbox1

                            Disciplina 2            checkbox2                  textbox2

                                  ...                        ...                              ...

                            Disciplina n            checkboxn                  textboxn

Tendo o utilizador acabado de preencher o "formulário" deve carregar num botão "Calcular", que vai calcular a média do curso e deveria guardar todos esses dados, para evitar que o utilizador numa outra altura tenha que introduzir os dados e novo, podendo simplesmente carregar os dados já guardados.

Para uma análise dos dados, como por exemplo mostrar os resultados em gráfico ou até imprimir os resultados, penso que seria apropriado usar uma base de dados. Infelizmente ainda não estou assim tão à vontade neste assunto. Aliás nem sei se usando uma base de dados ela ficaria integrada no ficheiro executável ou se ficaria num ficheiro à parte...

Agradeço desde já a disponibilidade, Obrigado.

Carlos Furriel.

EDIT: Mudei o Assunto :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes fazer com uma base de dados ou com um ficheiro de texto ou XML. Agora vês qual te dá mais jeito.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já decidi em usar uma base de dados em Access.

Até parece ridículo dizer isto mas já criei a base de dados e só tem uma tabela, com os campos: N_NUMERO, N_DISCIPLINA, N_NOTA.

Penso que isto é o mínimo para poder funcionar. Mas ao fazer uma aplicação mais abrangente poderia fazer uma tabela de Utilizadores, uma de Notas, uma de Disciplinas e outra com as Notas_Utilizadores.

O que acham que seria melhor, tendo em conta o fim da aplicação?

Portanto a aplicação será para uso pessoal e à medida que um utilizador vai fazendo um disciplina vai introduzindo na base de dados, sem precisar de estar a introduzir todas até então.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vou usar uma base de dados que vai ter a seguinte tabela:

NOTAS

N_FEITA

N_NOTA

A minha dúvida é como fazer a ligação da aplicação à base de dados?

De preferência gostava de usar uma base de dados em SQL mas também pode ser em Access?

Os utilizadores têm que ter o MS SQL instalado para poder usar a aplicação?

EDIT:

Comecei por fazer em Access e já introduzi o OleDbConnection1, o OleDbDataAdapter1 e o DataSet1.

Estive a ver nas propriedades da conexão e tem um caminho específico, desde a raiz isso quer dizer que se eu levar a aplicação para outro computador ou outro destino já não vai funcionar. Como resolvo isto?

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Afinal acabei por fazer em SQL pois estive a ler um livro electrónico que explicava em SQL.

Mas não está a fazer nada.

Não dá erros quando carrego no botão que faz executar este código, mas quando vou verificar no entreprise manager os dados não foram passados para a base de dados :)

Me.BindingContext(Me.DataSet11, "NOTAS").AddNew()

        For Each ctrl As Control In Me.Panel1.Controls
            If TypeOf ctrl Is CheckBox Then
                If (CType(Ctrl, CheckBox).Checked = True) Then
                    CType(Ctrl, CheckBox).DataBindings.Add(New Binding("Checked", DataSet11, "NOTAS.N_FEITA"))
                End If
            End If
        Next

        For Each ctrl As Control In Me.Panel1.Controls
            If TypeOf ctrl Is TextBox Then
                If (CType(Ctrl, TextBox).Text <> "") Then
                    CType(Ctrl, TextBox).DataBindings.Add(New Binding("Text", DataSet11, "NOTAS.N_NOTA"))
                End If
            End If
        Next

        Me.BindingContext(DataSet11, "NOTAS").EndCurrentEdit()
        Me.SqlDataAdapter1.Update(Me.DataSet11)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estou desesperado, já tentei em SQL e em Access e não consigo enviar os dados para a Base de dados :)

Será que me podem ajudar.

A Base de dados chama-se NOTAS e tem os campos N_NUM (chave primária - autonumber), N_NOTA (integer)

Tenho num Panel 42 textbox´s e tenho que enviar por ordem, mesmo que não tenha nota. Para quando abrir de novo a aplicação as notas irem para o sitio correcto ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dá uma olhadela à ultima edição da revista Programar ( www.revista-programar.info ) e tens lá um artigo de VB.NET + SQL Server ...pode ser que te ajude

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá,

Já estive a ler o artigo mas fiquei com algumas dúvidas.

As aplicações para funcionarem têm que ter instalado o MS SQL Server 2003/2005 para funcionar?

Funciona também sem ser utilizado em internet?

Aquele código também funciona para o VB.NET 2003?

Onde coloco este código:

Dim ligacao As SqlConnection = New SqlConnection("Data Source=XPTO;
Initial Catalog=RevistaProgramar;User Id=SA;Password=XPTO;")
Try
ligacao.Open()
Console.WriteLine("A ligação teve sucesso")
Console.ReadLine()
Catch
Console.WriteLine("Erro na ligação")
End Try

EDIT: No meu VB.NET nem sequer aceita SqlConnection :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já consegui dar a volta a situação embora não tenha sido da maneira que eu mais queria...

Através das propriedades das textbox foi à Data e atribui um campo da tabela no Text para cada uma das TextBox´s.

Já ficou a funcionar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Olá,

Já estive a ler o artigo mas fiquei com algumas dúvidas.

As aplicações para funcionarem têm que ter instalado o MS SQL Server 2003/2005 para funcionar?

Funciona também sem ser utilizado em internet?

Aquele código também funciona para o VB.NET 2003?

Se calhar faltava-te o

Imports System.Data.SqlClient

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