Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

bioshock

Values to Checkbox [Resolvido]

Mensagens Recomendadas

bioshock

Já tentei algo como:

Try
            ' Connexão com a Base de dados;
            Dim myConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & My.Application.Info.DirectoryPath & "\BD.mdb';Persist Security Info=True;"
            ' Criação da query para seleccionar os dados provenientes das tabelas;
            Dim query As String = "SELECT ID, Sexo FROM Tabela WHERE [sexo] = @sexo and ID = " & PegaID & ""
            ' Cria a connexão;
            Dim connection As New OleDbConnection(myConnectionString)
            ' Define os parametros a serem mostrados;
            Dim command As New OleDbCommand(query, connection)
            If command.Parameters.Add("@sexo", OleDbType.VarChar).Value = "Masculino" Then
                CheckBox4.CheckState = CheckState.Checked
            ElseIf command.Parameters.Add("@sexo", OleDbType.VarChar).Value = "Feminino" Then
                CheckBox3.CheckState = CheckState.Checked
            End If
            ' Abre a connexão;
            connection.Open()
            
            ' Fecha a connexão e limpa as variáveis;
            connection.Close()
            connection = Nothing
            command = Nothing
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
        End Try

Já procurei no google, assim como aqui no PAP, mas nada encontrei.

Já reparei que as checkboxs também possuem bindings, assim como as Textboxs, pode partir por aí?

Sugestões? Obrigado!  ;)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Explica como. É o intuito da comunidade.

Olhando para o código, parâmetros de input não servem para resgatar valores mas sim para os enviar.

Não podes também estar a adicionar duas vezes o mesmo parametro, porque mesmo só estando a fazer testes à variável, o parâmetro vai ser adicionado.

Abres e fechas a ligação e não fazes nada...

Isso funcionava assim?


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Explica como. É o intuito da comunidade.

Olhando para o código, parâmetros de input não servem para resgatar valores mas sim para os enviar.

Não podes também estar a adicionar duas vezes o mesmo parametro, porque mesmo só estando a fazer testes à variável, o parâmetro vai ser adicionado.

Abres e fechas a ligação e não fazes nada...

Isso funcionava assim?

Isso tudo que dizes é realmente verdade, na altura não olhei para o código com olhos de ver.  😳

Posso deixar aqui o código para futuros problemas, para além do mais o código nada tem haver com o que eu havia pensado inicialmente.

Sub ChamaSexo()
        Try
            ' Selecciona a Base de Dados;
            Dim BaseDados As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & My.Application.Info.DirectoryPath & "\BaseDados.mdb';Persist Security Info=True;"
            ' Cria a query para seleccionar os dados que pretendemos;
            Dim query As String = "SELECT Sexo FROM Tabela WHERE CampoID = @id"
            ' Cria a connexão;
            Dim connection As New OleDbConnection(BaseDados)
            ' Cria o comando;
            Dim command As New OleDbCommand(query, connection)
            ' Procura o ID;
            command.Parameters.Add("@id", OleDbType.Integer).Value = IDTextbox.Text
            ' Abre a connexão;
            connection.Open()
            ' Queremos apenas um resultado, portanto utilizamos o comando ExecuteScalar;
            Dim Resultado As String = command.ExecuteScalar().ToString()
            ' Caso o resultado seja "Masculino";
            If Resultado = "Masculino" Then
                'Check Masculino
                CheckBox4.Checked = True
                'Caso seja outro resultado que não "Masculino" - Neste caso só existe "Masculino" & "Feminino";
            Else
                'Check Feminino
                CheckBox3.Checked = True
            End If
            ' Fecha a ligação e limpa as variáveis 
            connection.Close()
            connection = Nothing
            command = Nothing
        Catch ex As Data.OleDb.OleDbException
            MessageBox.Show(ex.Message)
        End Try
    End Sub

Edit: "Olhando para o código, parâmetros de input não servem para resgatar valores mas sim para os enviar." Se estás a falar do meu código, tudo bem que não funcionava. Mas os parâmetros também servem para resgatar valores.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Bem sei. Por isso mesmo é que disse "parametros de input" :)


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.