Checkedlistbox用于将多个选中的复选框插入数据库 [英] Checkedlistbox for insert multiple selected checkboxes to database

查看:75
本文介绍了Checkedlistbox用于将多个选中的复选框插入数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我刚接触vb.net 2008,想知道如何从vb.net 2008中的checkedlistbox向sql server 2005数据库插入多个选中的复选框值。所以我有两个表,其中字段名称相同,如(Module_ID,Module_Name)和表名称是第一个(模块),第二个(ruff_Module)...所以在第一个表中添加一些主题名称与数字像(1,数学)和第二个表是空的...现在我的问题是,我想从表1中添加这些选定的模块加载到checkedlistbox控件,当我选择多个复选框时,他们插入到第二个表只需单击一次插入按钮....请帮帮我......我的代码是:

Hello i am new to working on vb.net 2008, want to know how to insert multiple selected checkboxes value from checkedlistbox in vb.net 2008 to sql server 2005 database. so i have two table in whiche fields name are same such as (Module_ID,Module_Name) and Tables name are 1st one(Modules), 2nd (ruff_Module)... so in First table add some subjects name with number like (1,Math and so on) and second table is empty ... now my question is that i want to add these selected modules from table one which are load into checkedlistbox control , when i select multiple checkboxes they insert to 2nd table just one click on insert button.... please help me out.... MY CODE IS :

Imports System.Data.SqlClient
Imports System.Text
Public Class Form1
    Dim cn As New SqlConnection("Data Source=NIDA-PC\SQLEXPRESS;Initial Catalog=Exam_Data;Integrated Security=True")
    Dim da As New SqlDataAdapter()
    Dim ds As New DataSet
    Dim dr As SqlDataReader
    Dim qry As String
    Dim cmd As New SqlCommand
    Dim qry1 As String
    Dim qry2 As String
    Dim dt As New DataTable
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        qry = "Select Module_ID,Module_Name from Modules"
        da = New SqlDataAdapter(qry, cn)
        ds = New DataSet()
        da.Fill(ds, "tab")
        CheckedListBox1.DataSource = ds.Tables("tab")
        CheckedListBox1.DisplayMember = "Module_Name"
        CheckedListBox1.ValueMember = "Module_ID"
        CheckedListBox1.Text = ""

 End Sub

            
Public Sub Stringbuilder()
        Try
            Dim sql As New StringBuilder("Insert into Modules (Module_Name) VALUES ")
            For Each c In CheckedListBox1.CheckedIndices
                Dim rowView As DataRowView = CheckedListBox1.Items(c)
                Dim value = rowView("Module_Name").ToString()
                sql.Append("('" & value & "')")
                sql.Length -= 1
                cmd.CommandText = sql.ToString()
                cmd.Connection = cn
                cn.Open()
                Dim rowsInserted = cmd.ExecuteNonQuery()
                MsgBox("inserted " & rowsInserted & "rows", MsgBoxStyle.OkOnly)
            Next



        Catch ex As Exception
            MsgBox("Error", MsgBoxStyle.Critical)
        End Try
        cn.Close()
    End Sub

    Stringbuilder()
    End Sub
End Class



并且显示一个错误,错误是:'Math'附近的语法不正确。



Math是模块名称,从ist表加载到checkedlistbox .....


and there is showing one error and the error is : Incorrect syntax near 'Math'.

Math is the module name which is load from ist table into checkedlistbox.....

推荐答案

Imports System.Data.SqlClient
Imports System.Text
Public Class Form1
Dim cn As New SqlConnection("Data Source=NIDA-PC\SQLEXPRESS;Initial Catalog=Exam_Data;Integrated Security=True")
Dim da As New SqlDataAdapter()
Dim ds As New DataSet
Dim dr As SqlDataReader
Dim qry As String
Dim cmd As New SqlCommand
Dim qry1 As String
Dim qry2 As String
Dim dt As New DataTable
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
qry = "Select Module_ID,Module_Name from Modules"
da = New SqlDataAdapter(qry, cn)
ds = New DataSet()
da.Fill(ds, "tab")
CheckedListBox1.DataSource = ds.Tables("tab")
CheckedListBox1.DisplayMember = "Module_Name"
CheckedListBox1.ValueMember = "Module_ID"
CheckedListBox1.Text = ""
 
End Sub
 

Public Sub Stringbuilder()
Try
Dim sql As New StringBuilder("Insert into Modules (Module_Name) VALUES ")
For i=0 to CheckedListBox1.items.count-1
if CheckedListBox1.getitemchecked(i)=true then
cmd.CommandText = "insert into ruff_modules values(CheckedListBox1.items(i).item(0),CheckedListBox1.items(i).item(1))
cmd.Connection = cn
cn.Open()
 cmd.ExecuteNonQuery()
MsgBox("inserted " & rowsInserted & "rows", MsgBoxStyle.OkOnly)
Next
 

 
Catch ex As Exception
MsgBox("Error", MsgBoxStyle.Critical)
End Try
cn.Close()
End Sub
 
Stringbuilder()
End Sub
End Class


这篇关于Checkedlistbox用于将多个选中的复选框插入数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆