如何将列表框数据作为一个批量数据插入sql-server中的表格单元格中

时间:2015-06-23 11:34:26

标签: vb.net

我正在尝试将列表框中的数据列表保存到sql server作为批量数据,但我不知道。 这是我的代码:

cmd As New SqlClient.SqlCommand("INSERT INTO tblStudentPersonalInformation(studentregistrationumber,studentname,studentgender,studentdob,studentpicture,studentntsubjectssat,studentfamilymembers,) VALUES('" & txtStudentRegistrationNumber.Text & "','" & txtStudentName.Text & "','" & cmbStudentGender.Text & "','" 
& studentdob & "','" & "',@studentpicture,'" & lbStudentSubjectsSat.Text & lbStudenttFamilyMembers.Text & "')", 
databaseconnection.cn)

cmd.Parameters.Add(New SqlClient.SqlParameter("@studentpicture", SqlDbType.Image)).Value = IO.File.ReadAllBytes(openfile.FileName)
i = cmd.ExecuteNonQuery()

主题名称和家庭成员临时存储在列表框中,作为一个数据插入表格单元格中。 但我不知道如何将整个列表框数据存储在表格单元格中。有任何想法吗。提前欣赏。

1 个答案:

答案 0 :(得分:0)

我想你问的是如何将列表框中的每个项目转换为单个字符串?像这样:

Dim itemList() As String, listMax As Integer, result As String, delim As String = "||"
'Set delim to whatever you want in between each listbox item
listMax = ListBox1.Items.Count - 1
If listMax >= 0 Then
    ReDim itemList(listMax)
    For i = 0 To listMax
        itemList(i) = ListBox1.Items(i).ToString
    Next
    result = Join(itemList, delim)
End If

另外,请考虑这是关于SQL注入的强制性警告。我知道你知道如何使用paramaterize但是仍然将用户输入的字符串直接连接到你的命令中。 This answer解释了为什么这是一个坏主意。