none
ChekedlistBox y SQL SERVER 2008 RRS feed

  • Pregunta

  • Hola que tal como les va.

    El motivo mi pregunta es saber como poder guardar el estado o el contenido de un CheckedListBox en una base de datos hecha en SQL SERVER 2008, he estado buscando informacion pero no he encontrado la suficente informacion como yo quisiera, espero y me puedan ayudar, de antemano gracias.

    martes, 28 de abril de 2015 1:28

Respuestas

  • Hola:
    Para el ejemplo, he creado una tabla llamada ITEM con 1 campo llamado ID_ITEM Char(10)

    En un Form con 1 Button y 1 ChekedListbox, copia y pega el siguiente codigo

    Option Explicit On
    Option Strict On
    Imports System.Data.SqlClient

    Public Class Form3

        Private Sub Form3_Load(sender As Object, e As EventArgs) Handles Me.Load
            Me.CheckedListBox1.Items.Add("PRIMERO")
            Me.CheckedListBox1.Items.Add("SEGUNDO")
            Me.CheckedListBox1.Items.Add("TERCERO")
            Me.CheckedListBox1.Items.Add("CUARTO")
            Me.CheckedListBox1.Items.Add("QUINTO")
        End Sub

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim msCadenaSQL As String = "Data Source=.\SQLEXPRESS;Initial Catalog=TU_BASE_DE_DATOS;Integrated Security=true"
            Dim lsQUery As String
            Try
                Using Conexion As New SqlConnection(msCadenaSQL)
                    Conexion.Open()
                    'Iniciamos una transaccion, hay que añadir una referencia a System.Transactions
                    Using MiTransaccion As New Transactions.TransactionScope
                        'recorrer el ciclo de los marcados
                        For Each lsItem As String In Me.CheckedListBox1.CheckedItems
                            lsQUery = "Insert Into ITEM (ID_ITEM) Values (@Id)"
                            Using Comando As New SqlCommand(lsQUery, Conexion)
                                Comando.Parameters.Add(New SqlParameter("@Id", lsItem))
                                Comando.ExecuteNonQuery()
                            End Using
                        Next
                        MiTransaccion.Complete()
                    End Using
                End Using
                MessageBox.Show("PROCESO FINALIZADO")
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        End Sub
    End Class

    Un saludo desde Bilbo
    Carlos

    martes, 28 de abril de 2015 7:57

Todas las respuestas

  • Hola:
    Para el ejemplo, he creado una tabla llamada ITEM con 1 campo llamado ID_ITEM Char(10)

    En un Form con 1 Button y 1 ChekedListbox, copia y pega el siguiente codigo

    Option Explicit On
    Option Strict On
    Imports System.Data.SqlClient

    Public Class Form3

        Private Sub Form3_Load(sender As Object, e As EventArgs) Handles Me.Load
            Me.CheckedListBox1.Items.Add("PRIMERO")
            Me.CheckedListBox1.Items.Add("SEGUNDO")
            Me.CheckedListBox1.Items.Add("TERCERO")
            Me.CheckedListBox1.Items.Add("CUARTO")
            Me.CheckedListBox1.Items.Add("QUINTO")
        End Sub

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim msCadenaSQL As String = "Data Source=.\SQLEXPRESS;Initial Catalog=TU_BASE_DE_DATOS;Integrated Security=true"
            Dim lsQUery As String
            Try
                Using Conexion As New SqlConnection(msCadenaSQL)
                    Conexion.Open()
                    'Iniciamos una transaccion, hay que añadir una referencia a System.Transactions
                    Using MiTransaccion As New Transactions.TransactionScope
                        'recorrer el ciclo de los marcados
                        For Each lsItem As String In Me.CheckedListBox1.CheckedItems
                            lsQUery = "Insert Into ITEM (ID_ITEM) Values (@Id)"
                            Using Comando As New SqlCommand(lsQUery, Conexion)
                                Comando.Parameters.Add(New SqlParameter("@Id", lsItem))
                                Comando.ExecuteNonQuery()
                            End Using
                        Next
                        MiTransaccion.Complete()
                    End Using
                End Using
                MessageBox.Show("PROCESO FINALIZADO")
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        End Sub
    End Class

    Un saludo desde Bilbo
    Carlos

    martes, 28 de abril de 2015 7:57
  • Me parece buena, pero no he mencionado que estoy utilizando procedimientos almacenados, asi que que te parece que te envie mi codigo por correo que tal?, cual es tu correo?
    jueves, 7 de mayo de 2015 17:28