'【功能】:【显示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

|