Jump to content
aprendiz93

Vb.Net Consulta

Recommended Posts

aprendiz93

Bom dia geral gostaria de uma help. Seguinte criei um botão de clientes cadastrados, quando clicar nesse botão abre uma tela para digitar o codigo do cliente gostaria de quando diitar o codigo ele verifica-se se já esta cadastrado ou n.

agradeço desde já.

Share this post


Link to post
Share on other sites
Andrepereira9

boas

para isso tens de ter uma base de dados. Para ligares à base dados, podes consultar isto:

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

Alguma duvida diz


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
aprendiz93

Me desculpem mais me respondem uma pergunta, isto é combinado de vcs toda pergunta que faço vcs mandam esse link que já li 20 vezes e de nada adiantou. esperava uma resposta concreta, se alguem poder ajudar agradeço desde já.

Share this post


Link to post
Share on other sites
Andrepereira9

Estas desculpado :)

Estas a usar que tipo de base de dados? Acess, SQL, ...


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
Andrepereira9

boas

tens aqui uma maneira, que vai procuar o id do cliente. Se exisitir, apresenta uma Msgbox com o Id e o nome. Se não existir, diz que o cliente não está registado

Imports System.Data.OleDb
Public Class Form1
Dim ligação As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Indicar a localização da BD.accdb;Persist Security Info=False;"

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim conecção As New OleDbConnection(ligação)

        Dim sintaxe As String = "Select * from 'nome da tabela' where 'campo a procuar' = 'varivel com o valor a procurar' " ' Ex: "Select * from clientes where ID = @id"

        Dim command As New OleDbCommand(sintaxe, conecção)

        command.Parameters.Add("@id", OleDb.OleDbType.VarChar).Value = TextBox1.Text ' indicar o nome da variavel (@id no ex.) e onde é que vai buscar o valor

        conecção.Open()

        Dim leitor As OleDbDataReader = command.ExecuteReader
        If leitor.HasRows Then

            While leitor.Read
                MsgBox("Id: " + leitor.Item("id").ToString + vbNewLine + "Nome: " + leitor.Item("nome").ToString) ' Apresenta o id e o nome
            End While
        Else
            MsgBox("O Cliente não esta cadastrado!!!") ' se nao existir nehum id, indica que não existe nada
        End If
        conecção.Close()

        sintaxe = Nothing
        conecção = Nothing

End Sub

End Class


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
Andrepereira9

é so connecção.open

onde tens o dim ligação as string, é que tens que por la a localização da base de dados


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
Andrepereira9

Dim sintaxe As String = "Select * from 'tabela1' where 'Codigo' = 'aki seria o nome do botao ? verificar' "

Onde tens 'tabela1' tens de por o nome da tua tabela, em 'Codigo', tens de por o nome do campo dos codigos da BD, e 'aki seria o nome do botao ? verificar', tens de por por exemplo @id

depois tens que indicar que o @id, vai ter o valor a procurar assim

command.Parameters.Add("@id", OleDb.OleDbType.VarChar).Value = TextBox1.Text 

onde o TextBox1.text, é onde diigtas o codigo de cliente.

depois em

MsgBox("Id: " + leitor.Item("id").ToString + vbNewLine + "Nome: " + leitor.Item("nome").ToString)

onde estao os campos  leitor.Item("id") e  leitor.Item("nome"), tens de alterar o id e nome, para o nome dos campos da tua tabela


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
Andrepereira9

estas a indicar cenas a mais

Dim sintaxe As String = "Select * from 'tabela1' where 'Código Razão Social CNPJ Tipo de Pessoa Endereço Número Complemento CEP Bairro Cidade Estado Telefone Observações' = '@id' 

Experimenta

Dim sintaxe As String = "Select * from tabela1 where Código = @id"

sem as ' em tabela1 , codigo, @id


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
aprendiz93

Cara show de bola brigadao amigo nuss vlw mesmo obrigado pela sua atenção. outra perguntinha rapidim rsrs agora para salvar as informações no banco tipo clicar no botao salvar e guarda na bd. agradeço desde já.

Share this post


Link to post
Share on other sites
Andrepereira9
 Dim conecção As New OleDbConnection(ligação)

        Dim sintaxe As String = "Insert Into clientes ([nome], [morada]) values (@nome, @morada)"  ' onde esta ([nome], morada]) é por o nome dos campos (igual aos da BD). Em (@nome, @morada), é por as variáveis que vão receber os dados. Essas variaveis vão ser declarados em baixo, no command.parameters. 

        Dim command As New OleDbCommand(sintaxe, conecção)


        command.Parameters.Add("@nome", OleDb.OleDbType.VarChar).Value = TextBox1.Text
        command.Parameters.Add("@morada", OleDb.OleDbType.VarChar).Value = TextBox2.Text

        conecção.Open()

        Dim insere As Integer = command.ExecuteNonQuery()

        If insere < 1 Then
            MsgBox("O cliente não foi registado!! Tente novamente!!")
        Else
            MsgBox("O cliente foi registado com sucesso!!")
        End If

        conecção.Close()

        sintaxe = Nothing
        conecção = Nothing


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
aprendiz93

Amigo deixei meu codigo assim mais continua com erro sabe me dizer oq seria?

Imports System.Data.OleDb

Public Class Form2

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim conecção As New OleDbConnection()

        Dim sintaxe As String = "Insert Into tabela1 ([Código], [Descrição]) values (@Texbox1, @Texbox2)"  ' onde esta ([nome], morada]) é por o nome dos campos (igual aos da BD). Em (@nome, @morada), é por as variáveis que vão receber os dados. Essas variaveis vão ser declarados em baixo, no command.parameters.

        Dim command As New OleDbCommand(sintaxe, conecção)

        command.Parameters.Add("@Textbox1", OleDb.OleDbType.VarChar).Value = TextBox1.Text

        command.Parameters.Add("@Textbox2", OleDb.OleDbType.VarChar).Value = TextBox2.Text

        conecção.Open()

        Dim insere As Integer = command.ExecuteNonQuery()

        If insere < 1 Then

            MsgBox("O cliente não foi registado!! Tente novamente!!")

        Else

            MsgBox("O cliente foi registado com sucesso!!")

        End If

        conecção.Close()

        sintaxe = Nothing

        conecção = Nothing

    End Sub

End Class

Share this post


Link to post
Share on other sites
Andrepereira9

o problema é que estas a criar a connecção

Dim conecção As New OleDbConnection()

mas não estas a indicar o Provedor, nem a localização da BD.

Tenta assim

Dim ligação As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Indicar a localização da BD.accdb;Persist Security Info=False;"

Dim conecção As New OleDbConnection(ligação)


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
aprendiz93

Amigo agora deu outro erro ta dificil sair este negócio de uma olhada no codigo:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim ligação As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Documents and Settings\thiago\Meus documentos\Visual Studio 2008\Projects\Sistema Thiago\Sistema Thiago\Clientes.accdb;Persist Security Info=False;"

        Dim conecção As New OleDbConnection(ligação)

        Dim sintaxe As String = "Insert Into tabela1 ([Código], [Razão Social], [CNPJ], [Tipo Pessoa], [Endereço], [Número], [Complemento], [CEP], [bairro], [Cidade], [Estado], [Telefone], [Observação]) values (@textbox1, @textbox2, @textbox3, @textbox4, @textbox5, @textbox6, @textbox7, @textbox8, @textbox9, @DomainUpDown1, @DomainUpDown2, @textbox10, @textbox11)" 

        Dim command As New OleDbCommand(sintaxe, conecção)

        command.Parameters.Add("@Textbox1", OleDb.OleDbType.VarChar).Value = TextBox1.Text

        command.Parameters.Add("@Textbox2", OleDb.OleDbType.VarChar).Value = TextBox2.Text

        command.Parameters.Add("@Textbox3", OleDb.OleDbType.VarChar).Value = TextBox3.Text

        command.Parameters.Add("@Textbox4", OleDb.OleDbType.VarChar).Value = TextBox4.Text

        command.Parameters.Add("@Textbox5", OleDb.OleDbType.VarChar).Value = TextBox5.Text

        command.Parameters.Add("@Textbox6", OleDb.OleDbType.VarChar).Value = TextBox6.Text

        command.Parameters.Add("@Textbox7", OleDb.OleDbType.VarChar).Value = TextBox7.Text

        command.Parameters.Add("@Textbox8", OleDb.OleDbType.VarChar).Value = TextBox8.Text

        command.Parameters.Add("@Textbox9", OleDb.OleDbType.VarChar).Value = TextBox9.Text

        command.Parameters.Add("@DomainUpDown1", OleDb.OleDbType.VarChar).Value = DomainUpDown1.Text

        command.Parameters.Add("@DomainUpDown2", OleDb.OleDbType.VarChar).Value = DomainUpDown2.Text

        command.Parameters.Add("@Textbox10", OleDb.OleDbType.VarChar).Value = TextBox10.Text

        command.Parameters.Add("@Textbox11", OleDb.OleDbType.VarChar).Value = TextBox11.Text

        conecção.Open()

        Dim insere As Integer = command.ExecuteNonQuery()

        If insere < 1 Then

            MsgBox("O cliente não foi registado!! Tente novamente!!")

        Else

            MsgBox("O cliente foi registado com sucesso!!")

        End If

        conecção.Close()

        sintaxe = Nothing

        conecção = Nothing

    End Sub

esta dando erro nesta linha:

Dim insere As Integer = command.ExecuteNonQuery()

Share this post


Link to post
Share on other sites
Andrepereira9

podes por o que aparece no erro?


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
Caça

        command.Parameters.Add("@Textbox1", OleDb.OleDbType.VarChar).Value = TextBox1.Text

        command.Parameters.Add("@Textbox2", OleDb.OleDbType.VarChar).Value = TextBox2.Text

        command.Parameters.Add("@Textbox3", OleDb.OleDbType.VarChar).Value = TextBox3.Text

        command.Parameters.Add("@Textbox4", OleDb.OleDbType.VarChar).Value = TextBox4.Text

        command.Parameters.Add("@Textbox5", OleDb.OleDbType.VarChar).Value = TextBox5.Text

        command.Parameters.Add("@Textbox6", OleDb.OleDbType.VarChar).Value = TextBox6.Text

        command.Parameters.Add("@Textbox7", OleDb.OleDbType.VarChar).Value = TextBox7.Text

        command.Parameters.Add("@Textbox8", OleDb.OleDbType.VarChar).Value = TextBox8.Text

        command.Parameters.Add("@Textbox9", OleDb.OleDbType.VarChar).Value = TextBox9.Text

        command.Parameters.Add("@DomainUpDown1", OleDb.OleDbType.VarChar).Value = DomainUpDown1.Text

        command.Parameters.Add("@DomainUpDown2", OleDb.OleDbType.VarChar).Value = DomainUpDown2.Text

        command.Parameters.Add("@Textbox10", OleDb.OleDbType.VarChar).Value = TextBox10.Text

        command.Parameters.Add("@Textbox11", OleDb.OleDbType.VarChar).Value = TextBox11.Text

Ele está a indicar todos os campos como Varchar, mas deve ter alguns do tipo Inteiro como o Número, Código, etc.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Andrepereira9

Que tipos de dados tens na Base de dados. verifica se os campos na base de dados, coincidem com o tipo de dados que estas a mandar guardar. 

Um campo string na bd, aceita inteiros, mas um campo inteiro na bd, não aceita strings.


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
aprendiz93

Amigos Verifique meu codigo estava dando erro pq coloque o nome das variaveis erradas. vlw pela força geral agradeço muito a todos. irei criar um novo tópico agora se der para me dar uma força mais uma vez agradeço.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.