当前位置导航:炫浪网>>网络学院>>编程开发>>MsSQL教程

把sql字符串中选择的内容显示在ListView


  【功能】:【显示ListView中的内容】
  【输入】:【连接字符串,要显示字符串,是否显示check框,是哪种访问数据库的方式】
  【输出】:【数据库的查询内容在ListView中显示】
  【参数】:【showStr,传值调用】
  Private Sub showListView(ByVal strConn As String, ByVal showStr As String, ByVal check As Boolean, ByVal dataAccess As String)
  
  If dataAccess = "sql" Then
  '[用于sql查询]
  Dim sqlConn As SqlClient.SqlConnection
  Dim sqlReader As SqlClient.SqlDataReader
  Dim sqlCmd As SqlClient.SqlCommand
  
  Try
  sqlConn = New SqlClient.SqlConnection(strConn)
  sqlConn.Open()
  sqlCmd = New SqlClient.SqlCommand(showStr, sqlConn)
  sqlReader = sqlCmd.ExecuteReader
  
  '【加入listview的头标题】
  Dim iHead As Integer
  ListView1.Columns.Clear()
  
  For iHead = 0 To sqlReader.FieldCount - 1
  ListView1.Columns.Add(sqlReader.GetName(iHead), 100, HorizontalAlignment.Center)
  Next
  
  '[加入每一列数据]
  ListView1.Items.Clear()
  
  Dim iRow As Long = 0
  Dim iRowHead As Int16
  
  While sqlReader.Read
  ListView1.Items.Add(sqlReader(0))
  For iRowHead = 1 To sqlReader.FieldCount - 1
  If (sqlReader(irowhead) Is System.DBNull.value = False) Then
  ListView1.Items(iRow).SubItems.Add(CStr(sqlReader(iRowHead)))
  Else
  ListView1.Items(irow).SubItems.Add(" ")
  End If
  Next
  iRow = iRow + 1
  End While
  Catch
  MessageBox.Show(Err.Description, clewInfo, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
  sqlConn.Close()
  Exit Sub
  End Try
  
  sqlReader.Close()
  sqlCmd.Dispose()
  sqlConn.Close()
  
  Else
  '[用于ole查询]
  Dim oleConn As OleDb.OleDbConnection
  Dim oleReader As OleDb.OleDbDataReader
  Dim oleCmd As OleDb.OleDbCommand
  
  Try
  oleConn = New OleDb.OleDbConnection(strConn)
  oleConn.Open()
  oleCmd = New OleDb.OleDbCommand(showStr, oleConn)
  oleReader = oleCmd.ExecuteReader
  
  '【加入listview的头标题】
  Dim iHead As Integer
  ListView1.Columns.Clear()
  
  For iHead = 0 To oleReader.FieldCount - 1
  ListView1.Columns.Add(oleReader.GetName(iHead), 100, HorizontalAlignment.Center)
  Next
  
  '[加入每一列数据]
  ListView1.Items.Clear()
  
  Dim iRow As Long = 0
  Dim iRowHead As Int16
  
  While oleReader.Read()
  ListView1.Items.Add(oleReader(0))
  For iRowHead = 1 To oleReader.FieldCount - 1
  If oleReader(irowhead) Is System.DBNull.value = False Then
  ListView1.Items(iRow).SubItems.Add(CStr(oleReader(iRowHead)))
  Else
  ListView1.Items(irow).SubItems.Add(" ")
  End If
  Next
  iRow = iRow + 1
  End While
  Catch
  MessageBox.Show(Err.Description, clewInfo, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
  oleConn.Close()
  Exit Sub
  End Try
  
  oleReader.Close()
  oleCmd.Dispose()
  oleConn.Close()
  
  End If
  
  '【加入底色】
  Dim i As Integer
  For i = 0 To ListView1.Items.Count - 1
  If i Mod 2 = 0 Then
  ListView1.Items(i).BackColor = Color.LightBlue
  Else
  ListView1.Items(i).BackColor = Color.OldLace
  End If
  Next i
  
  '[是否显示check按钮]
  If check = True Then
  ListView1.CheckBoxes = True
  Else
  ListView1.CheckBoxes = False
  End If
  End Sub
  
  
  
相关内容
赞助商链接