我需要通过Multi selction填充DataGridview 我正在尝试通过此代码填充dataGridview并且它可以工作但是当我输入时 1,2,3它得到了正确的值但是当我输入700时它得到7而不是700 当我键入1,2,3,10时,它获得1,2,3 所以我怎么能输入1,2,3,10,700并用这些数据填充datagridview 感谢
Imports System.Data
Imports System.Data.OleDb
Imports System.Text
Public Class Form1
Public OLECON As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\SCHEDULES_DB.accdb;Jet OLEDB:Database Password=Admin@2014;")
Dim dt As New DataTable
Dim da As New OleDbDataAdapter
Dim cmd As New OleDbCommand
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sb As New StringBuilder()
For Each fieldId As String In TextBox1.Text
sb.Append("'").Append(fieldId).Append("',")
Next
Dim fieldList As String = sb.ToString().TrimEnd(","c)
Dim SQLStr As String = "Select * from Tbl_Employee where EmpID in (" & fieldList & ") order by EmpID"
dt.Clear()
cmd.Parameters.Clear()
cmd.CommandText = SQLStr
cmd.Connection = OLECON
da.SelectCommand = cmd
da.Fill(dt)
DataGridView1.DataSource = dt
End Sub
End Class
答案 0 :(得分:0)
你正在按每个角色分割文字,这不是我认为你想要做的。看起来你试图在逗号分隔的字符串中的每个项目周围放置单引号,所以它应该看起来像这样,用逗号分隔字符串的内容:
Dim items As New List(Of String)
For Each s As String In TextBox1.Text.Split(",")
items.Add("'" & s & "'")
Next
Dim fieldList As String = String.Join(",", items.ToArray)
EmpID听起来像数字,在这种情况下,单引号不是必需的。