End If
Set myC = Nothing
Set dlg = Nothing
Exit Sub
ConnErr:
MsgBox Err.Description, vbCritical, "系统错误"
Set myC = Nothing
Set dlg = Nothing
End Sub
Private Sub cmdCount_Click()
Dim strSQL As String
If Not tvwTable.SelectedItem Is Nothing Then
If tvwTable.SelectedItem.Parent Is Nothing Then
strSQL = "select count(*) from " & tvwTable.SelectedItem.Text
Else
strSQL = "select count(*) from " & tvwTable.SelectedItem.Parent.Text
End If
txtSQL.Text = strSQL
cmdQuery_Click
End If
End Sub
Private Sub cmdMax_Click()
If Not tvwTable.SelectedItem Is Nothing Then
If Not tvwTable.SelectedItem.Parent Is Nothing Then
txtSQL.Text = "select max(" & tvwTable.SelectedItem.Text & ") From " & tvwTable.SelectedItem.Parent.Text
cmdQuery_Click
End If
End If
End Sub
Private Sub cmdMin_Click()
If Not tvwTable.SelectedItem Is Nothing Then
If Not tvwTable.SelectedItem.Parent Is Nothing Then
txtSQL.Text = "select min(" & tvwTable.SelectedItem.Text & ") From " & tvwTable.SelectedItem.Parent.Text
cmdQuery_Click
End If
End If
End Sub
Private Sub cmdOpenTable_Click()
Dim strSQL As String
Dim strProvider As String
strProvider = VBA.Strings.LCase(myConn.Provider)
If Not tvwTable.SelectedItem Is Nothing Then
If tvwTable.SelectedItem.Parent Is Nothing Then
strSQL = tvwTable.SelectedItem.Text
Else
strSQL = tvwTable.SelectedItem.Parent.Text
End If
If VBA.Strings.InStr(1, strProvider, "oracle") > 0 Then
strSQL = "Select * From " & strSQL & " Where rownum<200"
Else
strSQL = "select top 200 * From " & strSQL
End If
txtSQL.Text = strSQL
cmdQuery_Click
End If
End Sub
Private Sub cmdQuery_Click()
Dim myRS As New ADODB.Recordset
Dim strData As String
Dim intFH As Integer
Dim lCount As Long
Dim lRecordCount As Long
intFH = VBA.FreeFile()
On Error GoTo QueryErr
myRS.Open txtSQL.Text, myConn, adOpenStatic, adLockReadOnly, adCmdText
Open App.Path & "\temp.htm" For Output As #intFH
Print #intFH, "<html><head><title>查询结果</title></head><style>TD {FONT-FAMILY: 宋体; FONT-SIZE: 9pt}</style><body topmargin=''''1'''' leftmargin=''''1'''' rightmargin=''''1'''' bottommargin=''''1'''' bgcolor=''''#c3c3c3''''><table cellspacing=''''0'''' rules=''''all'''' bordercolor=''''#999999'''' border=''''1'''' style=''''border-color:#CC0066; border-collapse:collapse; '''' bgcolor=''''#f1f1f1''''>"
Print #intFH, "<tr style=''''background-color:#c2c2c2;''''>"
Print #intFH, "<td><b>SEQ</b></td>"
For lCount = 0 To myRS.Fields.Count - 1
Print #intFH, "<td>" & myRS.Fields(lCount).Name & "</td>"
Next
lRecordCount = 0
Do Until myRS.EOF
Print #intFH, "<tr><td>" & lRecordCount & "</td>"
For lCount = 0 To myRS.Fields.Count - 1
If IsNull(myRS.Fields(lCount).Value) Then
strData = "<NULL>"
Else
strData = myRS.Fields(lCount).Value
If VBA.Strings.InStr(1, strData, "<") > 0 Then