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

Batista15

[Resolvido]CheckBox

10 mensagens neste tópico

Gostava de saber como se declara uma checkbox para o botao guardar:

               

Tenho assim mas quando vou guardar diz que da erro a converter  :)

command.Parameters.Add("Glucobay", OleDbType.Integer).Value = GlucobayCheckBox.Text

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estas a tentar guardar num datatype integer uma string que devia ser booleana? ...

command.Parameters.Add("Glucobay", OleDbType.Boolean).Value = GlucobayCheckBox.Checked

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estas a tentar guardar num datatype integer uma string que devia ser booleana? ...

command.Parameters.Add("Glucobay", OleDbType.Boolean).Value = GlucobayCheckBox.Checked

Ja esta declarado! meti esse codigo em um novo try! e diz-me que nao posso conter chaves primarias com campo null! mas nao esta :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

qual e que e a chave primária?

Imports System.Data.OleDb

Public Class Form1

    Private Sub DadosBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Validate()

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        NomeTextBox.DataBindings.Clear()
        GlucobayCheckBox.DataBindings.Clear()
        DaonilCheckBox.DataBindings.Clear()

        NomeTextBox.Text = Nothing
        GlucobayCheckBox.Text = Nothing
        DaonilCheckBox.Text = Nothing

    End Sub

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

            'Dim lm As String = "INSERT INTO `dados` (`Id_Cliente`, `Nome`, `Idade`, `Morada`, `Peso`, `Altura`, `Tipo_Diabetes`, `Insulinoterapia`, `IMC`, `Hiperlipidemia`, `Habitos_alcoolicos`, `Habitos_tabagicos`, `Hipertensao`, `Obesidade`, `Antecedentes_Pessoais`, `Auto_Vigilancia`, `Defice_Visual`, `Amputacao`, `Dialise`, `Enfarte`, `AVC`, `Lesao_pes`) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"

            Dim lm As String = "INSERT INTO `dados` (`Nome`) VALUES (?)"

            ' Inicia uma ligação à base de dados
            Using connection As New OleDbConnection(Centro_de_saud.My.Settings.ligacao)

                ' Define o comando e os parâmetros
                Dim command As New OleDbCommand(lm, connection)

                'pergunta se quer guardar ou nao
                Dim msg = MsgBox("Pretende guardar o registo? ", MsgBoxStyle.YesNoCancel)
                If msg = MsgBoxResult.Yes Then



                    'If Id_ClienteTextBox.Text.Trim <> String.Empty Then

                    'command.Parameters.Add("Id_CLiente", OleDbType.Integer).Value = Id_ClienteTextBox.Text
                    'Else
                    'command.Parameters.Add("Id_Cliente", OleDbType.Integer).Value = 0
                    'End If


                    command.Parameters.Add("Nome", OleDbType.VarChar).Value = NomeTextBox.Text()



                ElseIf msg = MsgBoxResult.No Then
                End If

                If msg = MsgBoxResult.Cancel Then
                    Me.Close()

                End If




                ' Abre a ligação e insere o registo
                connection.Open()
                Dim x As Integer = command.ExecuteNonQuery()
                If x <> 1 Then
                    Throw New ArgumentException("Não foi possível inserir o registo na base de dados!")

                End If

            End Using



        Catch ex As Exception

            MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)


        End Try













        Try



            Dim lm2 As String = "INSERT INTO `medicamento` (`Glucobay`, `Daonil`) VALUES (?, ?)"

            'Inicia uma ligação à base de dados
            Using connection As New OleDbConnection(Centro_de_saud.My.Settings.ligacao)

                'Define o comando e os parâmetros
                Dim command As New OleDbCommand(lm2, connection)




                command.Parameters.Add("Glucobay", OleDbType.Boolean).Value = GlucobayCheckBox.Checked
                command.Parameters.Add("Daonil", OleDbType.Boolean).Value = DaonilCheckBox.Checked







                'Abre a ligação e insere o registo
                connection.Open()
                Dim x As Integer = command.ExecuteNonQuery()
                If x <> 1 Then
                    Throw New ArgumentException("Não foi possível inserir o registo na base de dados!")

                End If

            End Using









        Catch ex As Exception
            MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)


        End Try







    End Sub

    Private Sub Id_ClienteTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Id_ClienteTextBox.TextChanged
        Dim db As New OleDbConnection(My.Settings.ligacao)

        db.Open()

        Dim comandosql = "Select * from dados where Id_Cliente= " + Id_ClienteTextBox.Text
        Dim cmd As New OleDbCommand(comandosql, db)

        Dim dtr As OleDbDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)

        While dtr.Read()
            NomeTextBox.Text = dtr.Item(1)
          
        End While

    End Sub

    Private Sub DadosBindingNavigatorSaveItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Validate()

    End Sub

    Private Sub DadosBindingNavigatorSaveItem_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Validate()

    End Sub

    Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect

    End Sub

    Private Sub MedicamentoBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Validate()

    End Sub

    Private Sub MedicamentoBindingNavigatorSaveItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Validate()

    End Sub
End Class

E que eu tenho um botao com o "+" para limpar os campos e logo tenho o meu id_Cliente em numeracao automtica e so me aparece esse tal erro com o novo try!

Nesta nova tabela tenho os medicamentos em checkbox e da problemas ai!

semttulo.jpg

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Alguem me podia esclarecer? Ando com isto a semanas!

Mesmo que nao saibam digam

Eu volto a me explicar eu na outra tabela tenho as medicacoes e eu tenho um pedaco de codigo qua quando meto o id do cliente aparece tudo automaticamente, logo quando meter queria que tambem aparecesse os valores que escolhi daqelas checkbox!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tenta simular o sql na bd com os supostos valores que tens no form e ve se da algum erro

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