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

rdo91

Ajuda com Projecto [Criaçao de uma BD utilizando SQL Server e VB]

25 mensagens neste tópico

Boas, estou a completar o 12º ano no curso profissional de Gestao e Programaçao de Sistemas Informáticos, e tenho que fazer uma Base de dados em SQL Server e programar em Visual Basic para o Projecto de Aptidão Profissional.

O que sei de VB é básico, sei fazer calculadoras no máximo. E precisava de alguns bons tutoriais para me ajudar a fazer o projecto, e claro, a ajuda de alguem era sempre bem vinda ;)

Cumps e obrigado

EDIT: Nao vi o topico das duvidas e ajudas, peço a algum moderador que mova este topico. Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se calhar o melhor é pesquisares aqui no fórum

Tens aqui colegas teus com projectos interessantes no âmbito do mesmo curso...ou similar.

De qualquer modo, se o teu nível de VB é de fazer calculadoras, e te vais meter num mundo completamente diferente, nomeadamente ao nível de acesso e manipulação a dados... espera-te muito trabalho.

Deixo-te este link que é do blog do moderador deste fórum, que tem alguns tutoriais excelentes para quem se inicia.

http://vbtuga.blogspot.com/

http://vbtuga.blogspot.com/2008/04/lista-completa-de-artigos.html

http://vbtuga.blogspot.com/2008/04/vbnet-gesto-de-dados-em-sql-server.html

Acesso a dados

http://vbtuga.blogspot.com/2008/04/vbnet-gesto-de-dados-em-sql-server.html

http://vbtuga.blogspot.com/2008/04/vbnet-gesto-de-dados-em-sql-server_16.html

Já agora... atenção na definição de estrutura de dados.... antes de fazeres qualquer coisa, define a estrutura de dados que queres e posta aí.

De qualquer das maneiras, digo-te já que continuando a postar dessa maneira, não vais ter muitas respostas ;-)

A malta prefere responder a dúvidas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

De qualquer das maneiras, digo-te já que continuando a postar dessa maneira, não vais ter muitas respostas ;-)

A malta prefere responder a dúvidas.

Olá,

concordo com o José Lopes, tens de começar a ler e ir explorando e fazendo uns testes, e quando tiveres uma dificuldade mostra o codigo e explica qual é o erro/poblema.

Estamos cá depois para tentar ajudar!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ja comecei a fazer qualquer coisa seguindo um livro de Curso de VB 2008, mas ja empanquei num erro.

Ao clicar num botao que servia para inserir os dados, deu me um erro:

"Error 1 Argument not specified for parameter 'designação_doc' of 'Public Overridable Overloads Function Insert(id_dados As Integer, data As Date, nome As String, procedência As String, inclusos As String, observações As String, id_desig As Integer, designação_doc As String) As Integer'. C:\Documents and Settings\Rui\Meus documentos\Visual Studio 2008\Projects\ruipap\ruipap\dados2.vb 66 13 ruipap"

e código que estou a usar é o seguinte:

Private Sub ButtonAdicionar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAdicionar.Click
        If validar_Dados() = False Then Exit Sub
        Dim adapter_dados As New papDataSetTableAdapters.dadosTableAdapter
        Try
       'erro'    
       adapter_dados.Insert(Me.Id_dadosTextBox.Text, DataDateTimePicker.Value, Me.NomeTextBox.Text, Me.ProcedênciaTextBox.Text, Me.InclusosTextBox.Text, Me.Id_desigTextBox.Text, Me.Designação_docTextBox.Text) 'fim do erro'
        Catch ex As Exception

        End Try

    End Sub 

O objectivo do programa é adicionar dados e fazer consultas de dados sobre correspondencia entre a empresa onde estou a estagiar e outras, tendo como variáveis Id_dados, Data, Nome, Procedência, Inclusos, Id_desig e Designação_doc (designaçao de documentos).

No livro de VB que estou a consultar, tem já um projecto feito e estou a segui-lo. Como sao programas diferentes, devo me ter esquecido de qualquer coisa, nao faço ideia  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nao, nunca demos isso. As linguagens q aprendemos foi pascal, VB e PHP/SQL. E VB demos muito tempo, mas nunca fomos muito longe :x

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nao, nunca demos isso. As linguagens q aprendemos foi pascal, VB e MySQL. E VB demos muito tempo, mas nunca fomos muito longe :x

hmmm e pedem-te um projecto com sql server assim do nada? ainda se fosse access

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E o projecto de fim de curso. O meu director de curso deu ideias e eu escolhi este projecto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hmmm e pedem-te um projecto com sql server assim do nada? ainda se fosse access

Não exageremos... parece-me que o SGDB que vai utilizar.... é o menor dos problemas....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim eu sei, mas gostava de alguma resposta pro erro eu me aconteceu de alguem que percebesse disso. Preciso de perceber o erro :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tive a olhar para o teu codigo...

  E nao precebi nada :P , onde e que tens as instruçoes de Ligaçao a da base de dados, e a instruçao de Insert , e que se o adapter_dados.Insert(Me.Id_dadosTextBox.Text, DataDateTimePicker.Value, Me.NomeTextBox.Text, Me.ProcedênciaTextBox.Text, Me.InclusosTextBox.Text, Me.Id_desigTextBox.Text, Me.Designação_docTextBox.Text) 'fim do erro', e para inseri o que esta nas textbos, tas a fazer isto mal. esprimenta assim.


Private Sub addbtt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles addbtt.Click


        Try
            ' variaveis com o nome dos campos, das textbox


            Dim Nome, Morada, Email, Localidade As String
            Dim CodigoPostal, Telefone, Telemovel, Fax, Nif As Integer


            Dim sql As String = "INSERT INTO Cliente (nome,Morada,CodigoPostal,Telefone,Telemovel,Fax,Email,Nif,Localidade) VALUES (@Nome,@Morada,@CodigoPostal,@Telefone,@Telemovel,@Fax,@Email,@Nif,@Localidade)"
            Dim conn As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=basededados.accdb;Persist Security Info=False;")

            'Dim cmd As OleDbCommand = conn.CreateCommand
            Dim cmd As New OleDbCommand(sql, conn)
            cmd.Parameters.Add(New OleDbParameter("@Nome", txtnome.Text))
            cmd.Parameters.Add(New OleDbParameter("@Morada", txtmorada.Text))
            cmd.Parameters.Add(New OleDbParameter("@CodigoPostal", txtcodigopostal.Text))
            cmd.Parameters.Add(New OleDbParameter("@Telefone", txttelefone.Text))
            cmd.Parameters.Add(New OleDbParameter("@Telemovel", txttelemovel.Text))
            cmd.Parameters.Add(New OleDbParameter("@Fax", txtfax.Text))
            cmd.Parameters.Add(New OleDbParameter("@Email", txtemail.Text))
            cmd.Parameters.Add(New OleDbParameter("@Nif", txtnif.Text))
            cmd.Parameters.Add(New OleDbParameter("@Localidade", txtlocalidade.Text))

            conn.Open()
            cmd.ExecuteNonQuery()
            conn.Close()
            MsgBox("Cliente Registado com sucesso")

        Catch erro As Exception
            MsgBox(erro.ToString)
        End Try

    End Sub

  Eu faço assim para adicionar elementos a base de dados... e Funciona bem.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu fiz isto olhando pra um livro e adaptando para o programa. as instruçoes que perguntaste devem estar noutro form ou mais abaixo, so pus o sub q deu erro.

E esse codigo, é so meter q funciona ? Adiciona logo ? (eu sei q tenho que adaptar para o meu programa :P)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu fiz isto olhando pra um livro e adaptando para o programa. as instruçoes que perguntaste devem estar noutro form ou mais abaixo, so pus o sub q deu erro.

E esse codigo, é so meter q funciona ? Adiciona logo ? (eu sei q tenho que adaptar para o meu programa :P)

  Sim, tens e que alterar, so a Dim conn As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=basededados.accdb;Persist Security Info=False;"), fazeres para SQL ou para o SGBD que estas a usar.

:eek: pebat isso é para BD em Access

    Sim.. Algum problema ??....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Funciona na mesma mesmo sendo para Access ? q lavagem xD

  Desde que tenhas a base de dados criada no access as tabelas, eu so la tenho as tabelas o resto e td gerido e feito atravez do VB.Net

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É assim, o meu projecto é para fazer so com SQL Server e VB.. as tabelas criei pelo SQL Server, e os dados vao ser inseridos depois do botao inserir funcionar..

Access nao dá :s

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=basededados.accdb;Persist Security Info=False;"

Tens que mudar esta linha aqui, para o teu projecto, ainda deves ter que acresentar o username: e a password: do SQL, mas de resto e td igual

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

meto data source = "nome da minha bd" ? e acrescento o que para o username e pass?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fui ao site do Jpaulino, encontrei la como fazer ligaçoes para BD's do SQL Server.

Mas ao copiar o codigo e ao adaptar pra mim, da me erro no

 Dim connection As New SqlConnection(myConnectionString)

diz q o Sqlconnection nao está declarado. Tenho qe o declarar onde e como ?

O codigo adaptado a mim ficou assim, nao sei se está correcto...

Private Sub ButtonAdicionar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonAdicionar.Click
        Imports System.Data.SqlClient

        ' Texto de ligação à base de dados
        Dim myConnectionString As String = _
        "Data Source=.\SQLEXPRESS;AttachDbFilename='C:\Programas\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\pap.mdf';" & _
        ";Integrated Security=True;User Instance=True"

        ' Comando que irá inserir dados na tabela "MyTable" em que os campos
        ' "username" e "date" são passados através de parâmetros
        Dim SQL As String = "INSERT INTO myTable([date], [nome], [procedencia], [inclusos], [observaçoes], [id_desig], [designaçao_documento]) VALUES (@date, @nome, @procedencia, @inclusos, @observaçoes, @id_desig, @designaçao_documento)"

        ' 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 que serão inseridos
        command.Parameters.Add("@nome", SqlDbType.Text).Value = ""
        command.Parameters.Add("@date", SqlDbType.DateTime).Value = DateTime.Now
        command.Parameters.Add("@procedencia", SqlDbType.Text).Value = ""
        command.Parameters.Add("@inclusos", SqlDbType.VarChar).Value = ""
        command.Parameters.Add("@observaçoes", SqlDbType.VarChar).Value = ""
        command.Parameters.Add("@id_desig", SqlDbType.VarChar).Value = ""
        command.Parameters.Add("@designaçao_documento", SqlDbType.VarChar).Value = ""

        ' Abre a ligação, executa o comando e guarda em "x" o número de registos inseridos
        connection.Open()

        Dim x As Integer = command.ExecuteNonQuery()
        If x < 1 Then
            MessageBox.Show("A operação efectuada não retomou qualquer resultado.")
        End If

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ja experimentaste fazer os imports?

no topo do codigo, antes de qualquer definição

imports system.data.sql.... (nao me recordo do resto do nome)

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