Public Sub sql_scn()
Try
ListView1.Items.Clear()
ListView1.Columns.Clear()
Dim reader As SqlDataReader
Dim sConnectionString As String = _
"server=localhost;uid=sa;pwd=;database=temp"
Dim sconn As SqlConnection = New SqlConnection(sConnectionString)
sconn.Open()
Dim sSQL As String = "SELECT * FROM asd"
Dim cmd As SqlCommand = New SqlCommand(sSQL, sconn)
Dim sqlda As SqlDataAdapter = New SqlDataAdapter(sSQL, sconn)
Dim ds As DataSet = New DataSet()
sqlda.Fill(ds, "asd")
Dim dt As DataTable = ds.Tables("asd")
'数组的维数是表头的数量
Dim columnNames(dt.Columns.Count) As String
Dim I As Integer
For I = 0 To columnNames.Length - 2
'数组存放每一列的名字
columnNames(I) = dt.Columns(I).ColumnName
Next
reader = cmd.ExecuteReader
While (reader.Read())
' '新建一个LISTITEM的新列
Dim li As ListViewItem = New ListViewItem()
li.SubItems.Clear()
Dim j As Integer
For j = 0 To columnNames.Length - 2
If j >= ListView1.Columns.Count Then
ListView1.Columns.Add(columnNames(j), columnNames(j).Length * CInt(ListView1.Font.SizeInPoints + 10), HorizontalAlignment.Center)
Else
ListView1.Columns(j).Text = columnNames(j)
ListView1.Columns(j).Width = columnNames(j).Length * CInt(ListView1.Font.SizeInPoints + 10)
End If
li.SubItems(j).Text = reader(columnNames(j)).ToString
li.SubItems.Add(reader(columnNames(j)).ToString())
Next j
ListView1.Items.Add(li)
End While
sconn.Close()
reader.Close()
Catch err As Exception
MessageBox.Show(err.Message, "错误提示")
End Try
End Sub