Private Sub Form_Load()
Dim strConnectString As String
Dim strUserID As String
Dim strPassword As String
Dim strDataSource As String
Dim g_dbConnect As ADODB.Connection
strDataSource = "land"
strUserID = "sde"
strPassword = "sde"
strConnectString = "Provider=OraOLEDB.Oracle;" & _
"Data Source=" & strDataSource & _
";User Id=" & strUserID & _
";Password=" & strPassword
On Error GoTo ErrHandle
Set g_dbConnect = New ADODB.Connection
g_dbConnect.Open strConnectString
bSuccess = True
'记录数据库连接变量
g_strDBSource = strDataSource
g_strDBUser = strUserID
g_strDBPwd = strPassword
g_strDBConnStr = strConnectString
Dim recSet As New ADODB.Recordset
recSet.Open "SELECT * FROM SDE.PRODUCT_TABLE", _
g_dbConnect, adOpenDynamic, adLockOptimistic, adCmdText
'Dim i As Integer
'i = 0
'Do While (Not recSet.EOF)
' recSet.MoveNext
' i = i + 1
'Loop
'MsgBox i
MsgBox recSet.RecordCount
Unload Me
Exit Sub
ErrHandle:
MsgBox Err.Description, vbOKOnly + vbCritical, "失败"
bSuccess = False
End Sub而实际上'上的是可以返回记录数的,但是如果我记录多。用这个方法就很慢了啊。
Dim strConnectString As String
Dim strUserID As String
Dim strPassword As String
Dim strDataSource As String
Dim g_dbConnect As ADODB.Connection
strDataSource = "land"
strUserID = "sde"
strPassword = "sde"
strConnectString = "Provider=OraOLEDB.Oracle;" & _
"Data Source=" & strDataSource & _
";User Id=" & strUserID & _
";Password=" & strPassword
On Error GoTo ErrHandle
Set g_dbConnect = New ADODB.Connection
g_dbConnect.Open strConnectString
bSuccess = True
'记录数据库连接变量
g_strDBSource = strDataSource
g_strDBUser = strUserID
g_strDBPwd = strPassword
g_strDBConnStr = strConnectString
Dim recSet As New ADODB.Recordset
recSet.Open "SELECT * FROM SDE.PRODUCT_TABLE", _
g_dbConnect, adOpenDynamic, adLockOptimistic, adCmdText
'Dim i As Integer
'i = 0
'Do While (Not recSet.EOF)
' recSet.MoveNext
' i = i + 1
'Loop
'MsgBox i
MsgBox recSet.RecordCount
Unload Me
Exit Sub
ErrHandle:
MsgBox Err.Description, vbOKOnly + vbCritical, "失败"
bSuccess = False
End Sub而实际上'上的是可以返回记录数的,但是如果我记录多。用这个方法就很慢了啊。
Dim strCommand As StringstrCommand = "GET " + GetFileFromURL(m_strURL) + " HTTP/1.0" + vbCrLf
strCommand = strCommand + "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*" + vbCrLf
strCommand = strCommand + "Referer: " + GetHostFromURL(m_strURL) + vbCrLf
strCommand = strCommand + "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)" + vbCrLf
strCommand = strCommand + "Host: " + GetHostFromURL(m_strURL) + vbCrLf
strCommand = strCommand + vbCrLf
cmSocket.SendData strCommand下面是使用Xmlhttp的一个函数
debug.print GetPage("http://club.5ivb.net")Public Function GetPage(ByVal URL As String)
On Error GoTo errhand:
Set objStream = CreateObject("adodb.stream")
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", URL, False, "", ""
http.setRequestHeader "Referer", URL
http.send
If http.readyState <> 4 Then
Exit Function
End If
With objStream
.Type = 1
.Mode = 3
.Open
.Write http.responseBody
.Position = 0
.Type = 2
.Charset = "GB2312"
GetPage = objStream.ReadText
objStream.Close
End With
errhand:
Exit Function
End Function
Private Sub Form_Load()
Dim strConnectString As String
Dim strUserID As String
Dim strPassword As String
Dim strDataSource As String
Dim g_dbConnect As ADODB.Connection
strDataSource = "land"
strUserID = "sde"
strPassword = "sde"
strConnectString = "Provider=OraOLEDB.Oracle;" & _
"Data Source=" & strDataSource & _
";User Id=" & strUserID & _
";Password=" & strPassword
On Error GoTo ErrHandle
Set g_dbConnect = New ADODB.Connection
g_dbConnect.Open strConnectString
bSuccess = True
'记录数据库连接变量
g_strDBSource = strDataSource
g_strDBUser = strUserID
g_strDBPwd = strPassword
g_strDBConnStr = strConnectString
Dim recSet As New ADODB.Recordset
recSet.Open "SELECT * FROM SDE.PRODUCT_TABLE", _
g_dbConnect, adOpenDynamic, adLockOptimistic, adCmdText
'Dim i As Integer
'i = 0
'Do While (Not recSet.EOF)
' recSet.MoveNext
' i = i + 1
'Loop
'MsgBox i
rscset.MoveLast '加上这句就可以了
MsgBox recSet.RecordCount
Unload Me
Exit Sub
ErrHandle:
MsgBox Err.Description, vbOKOnly + vbCritical, "失败"
bSuccess = False
End Sub而实际上'上的是可以返回记录数的,但是如果我记录多。用这个方法就很慢了啊。
g_dbConnect.CursorLocation = adUseClient
g_dbConnect.Open strConnectString
......
recSet.Open "SELECT * FROM SDE.PRODUCT_TABLE", _
g_dbConnect, adOpenDynamic, adLockOptimistic, adCmdText
recSet.MoveLast
g_dbConnect, adOpenStatic, adLockOptimistic, adCmdText
应该用静态的或者是键集方式打开,才能读取到真实的recordcount
也谢谢wwqna(york) ( ) 和of123() ( )
不过再问1下,动态和静态对sql查询有什么区别或者影响?
但是我没明白动静态的区别