Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcio899

Trabalhando com vb ligado ao sql server

Recommended Posts

Ola a todos que virem este tópico, estou precisando de uma ajuda!

A coisa de uma semana, foi me imposto a construção de um projecto em visual basic para gerir uma biblioteca escolar!

Estou precisando de ajuda porque já abordei o vb, mas nunca com base de dados, e ainda por cima esta dificil controlar a construção do projecto.

Ao inicio comecei a construção do projecto com dataset's , mas começou a gerar muitos erros no projecto.

Agora encontro-me na construção do projecto atraves de codigo!

Já construi as tabelas e consigo introduzir os valores que pretendo.

Mas agora precisava de ajuda, alguem me poderia ajudar com o codigo para adicionar os valores de uma tabela numa combobox!

 

A minha tabela é a seguinte: Nome:Genero_leitor campos: id_gene_leitor;nome_gene_leitor

Eu pretendo dentro de uma combobox(campo nome_gene_leitor) que pertence a tabela leitor!

Agradeco com especial atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá marcio, primeiramente seja bem vindo ao fórum.

 

Poste aqui como está fazendo sua conexão para te ajudar melhor.

 

Mas basicamente, o que tem que fazer é rodar toda sua tabela com um loop e ajuda do movenext de ser recordset inserindo valor por valor no combo, usando a propriedade addnew.

 

Se tiver dúvidas poste ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho uma dúvida! Tenho um formulario que tem o seguinte código no botão registar:

Imports System.Data.SqlClient
Imports System.Text.RegularExpressions
--------------------------------------------
Dim myConnectionString As String = "Data Source=.\SQLEXPRESS;AttachDbFilename='C:\USERS\MARCIO OLIVEIRA\DOCUMENTS\VISUAL STUDIO 2008\PROJECTS\name\name\name.MDF';Integrated Security=True;User Instance=True"

Dim SQL As String = "INSERT INTO leitores([nome_leitor],[genero_leitor],[n_contribuinte],[n_bi],[data_nasc],[data_regist],[sexo],[contacto],[e_mail],[nome_curso],[numero_aluno],[Distrito],[conselho],[Freguesia],[codigo_postal],[localidade],[rua_bairro],[Obs]) VALUES(@nome_leitor,@genero_leitor,@n_contribuinte,@n_bi,@data_nasc,@data_regist,@sexo,@contacto,@e_mail,@nome_curso,@numero_aluno,@Distrito,@conselho,@Freguesia,@codigo_postal,@localidade,@rua_bairro,@Obs);"

Dim connection As New SqlConnection(myConnectionString)
            [color="#00FF00"]' Criação do comando indicando a instrução e a ligação[/color]     
      Dim command As New SqlCommand(SQL, connection)
            command.Parameters.Add("@nome_leitor", SqlDbType.VarChar).Value = CStr(TextBox1.Text)
            command.Parameters.Add("@genero_leitor", SqlDbType.VarChar).Value = CStr(ComboBox1.Text)
            command.Parameters.Add("@n_contribuinte", SqlDbType.Int).Value = (TextBox2.Text)
            command.Parameters.Add("@n_bi", SqlDbType.Int).Value = (TextBox3.Text)
            command.Parameters.Add("@data_nasc", SqlDbType.DateTime).Value = CDate(TextBox4.Text)
            command.Parameters.Add("@data_regist", SqlDbType.DateTime).Value = CDate(TextBox5.Text)
            command.Parameters.Add("@sexo", SqlDbType.VarChar).Value = (ComboBox2.Text)
            command.Parameters.Add("@contacto", SqlDbType.Int).Value = (TextBox6.Text)
            ' EmailAddressCheck(TextBox7.Text)
            command.Parameters.Add("@e_mail", SqlDbType.VarChar).Value = CStr(TextBox7.Text)
            command.Parameters.Add("@nome_curso", SqlDbType.VarChar).Value = (TextBox8.Text)
            command.Parameters.Add("@numero_aluno", SqlDbType.Int).Value = (TextBox9.Text)
            command.Parameters.Add("@Distrito", SqlDbType.VarChar).Value = (TextBox10.Text)
            command.Parameters.Add("@conselho", SqlDbType.VarChar).Value = (TextBox11.Text)
            command.Parameters.Add("@Freguesia", SqlDbType.VarChar).Value = (TextBox12.Text)
            command.Parameters.Add("@codigo_postal", SqlDbType.Int).Value = (TextBox13.Text)
            command.Parameters.Add("@localidade", SqlDbType.VarChar).Value = (TextBox14.Text)
            command.Parameters.Add("@rua_bairro", SqlDbType.VarChar).Value = (TextBox15.Text)
            command.Parameters.Add("@Obs", SqlDbType.VarChar).Value = (RichTextBox1.Text)
            ' 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()
            'command.ExecuteNonQuery()

            If CInt(x) < 1 Then
                MessageBox.Show("LAMENTAMOS MAS A OPERAÇÃO efectuada não retomou qualquer resultado.")
            Else
                MessageBox.Show("Novo leitor registado com sucesso!", _
            End If
            connection.Close()
            connection = Nothing
            command = Nothing
Alguem me podia ajudar com este codigo porque me esta a dar o seguinte erro:

Não foi possível converter o valor do parâmetro de String para Int32.

como é que eu resolvo esta situação!

precisava urgentemente de ajuda

Agradecimentos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este é um dos erros que tem no seu código, tem outros iguais:

 

command.Parameters.Add("@numero_aluno", SqlDbType.Int).Value = (TextBox9.Text)

Ta vendo que o tipo do parâmetro é Int, ou seja ele espera um valo inteiro, e o Text do TextBox é do tipo string.

O correto seria:

 

command.Parameters.Add("@numero_aluno", SqlDbType.Int).Value = int.Parse(TextBox9.Text)

Obs.: Isto é muito básico, estude mais sobre vb.net, veja o site do macoratti.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado antes de mais!

Será que seria possivel me indicar algum site onde aborde esse modo de utilizar o

Integer.Parse

É que de momento não estou a perceber

COLOQUEI ISSO E DA-ME o seguinte erro

"Cadeia de caracteres de entrada com formato incorrecto."

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quanto ao erro do Int32 continuo a espera formas para resolver esse problema!

Quem tiver ideias para resolver isto aceito todas as sugestoes.

Convert.INT32(aa.text)
Não sei se é assim ...

Encontro-me perdido

 

Estou precisando ajuda no seguinte codigo:

Dim myConnectionString As String = "Data Source=.\SQLEXPRESS;AttachDbFilename='C:\USERS\MARCIO OLIVEIRA\DOCUMENTS\VISUAL STUDIO 2008\PROJECTS\FODAXE\FODAXE\FODAXE.MDF';Integrated Security=True;User Instance=True"
        Dim SQL As String = " SELECT MIN(id_autor) FROM autor"
        Dim connection As New SqlConnection(myConnectionString)
        Dim command As New SqlCommand(SQL, connection)
        connection.Open()
        Dim total As Integer = command.ExecuteScalar()
        'Debug.WriteLine("primeiro registo inserido = " + total.ToString)
        Dim xx As Integer
        xx = total
        connection.Close()
        connection = Nothing
        command = Nothing

        Dim myConnectionStringa As String = "Data Source=.\SQLEXPRESS;AttachDbFilename='C:\USERS\MARCIO OLIVEIRA\DOCUMENTS\VISUAL STUDIO 2008\PROJECTS\FODAXE\FODAXE\FODAXE.MDF';Integrated Security=True;User Instance=True"
z:
        Dim SQLx As String = "SELECT * FROM autor WHERE [id_autor] =" & xx & ""
        Dim connectione As New SqlConnection(myConnectionStringa)
        Dim commande As New SqlCommand(SQLx, connectione)
        connectione.Open()
        Dim readers As SqlDataReader = commande.ExecuteReader()
        If readers.HasRows = False And xx <> 0 And readers.HasRows < maxima Then
            GoTo z
        End If
        If readers.HasRows Then
            While readers.Read()
                Debug.WriteLine(readers.Item("id_autor"))
                TextBox2.Text = (readers.Item("id_autor"))
                Debug.WriteLine(readers.Item("nome_autor"))
                TextBox1.Text = (readers.Item("nome_autor"))
                Button4.Enabled = False
                Button3.Enabled = False
            End While
        End If
        connectione.Close()
        connectione = Nothing
        commande = Nothing
        Button5.Enabled = True
        Button6.Enabled = True

Algem me poderia dizer se esta é uma maneira correcta, ou se existe maneira + facil de fazer percorrer a minha tabela guardando os dados nas caixas de texto

id_autor 10

nome_autor Sergio Ramos

 

o proximo registo depois de click no button será

id_auto 9

nome_autor Fernando Pessoa

 

 

Alguem me poderia ajudar a por restrições numa text

tenho o seguinte codigo:

If Not Char.IsLetter(e.KeyChar) And Not e.KeyChar = vbBack Then
            e.Handled = True
        End If
Mas este não esta a executar como eu quero

Tenho a caixa de texto que so deve aceitar letras e espaços, como se faz isso!

Agradecimento por especial atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.