一個簡單的問題?

dfdsfdsfsfsafsdfsdf 2003-10-20 07:09:05
我在讀一個較大的數據庫時,出現一條錯誤,不知何意,提示為“資料提供者其他服務回E_FAIL狀態”請問什麼是E_FAIL狀態,什麼情況會出現這種情況,一般是如何處理的。
...全文
38 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
NotReady 2003-10-21
  • 打赏
  • 举报
回复
这是因为数据库中的数字字段引起的!
  • 打赏
  • 举报
回复
Public ConnRD As New ADODB.Connection
Public ConnWR As New ADODB.Connection
Public Rs As New ADODB.Recordset
Public Rs1 As New ADODB.Recordset
'Public Mrc As New ADODB.Recordset
Public l As Long
Public i As Long, j As Long, k As Long
Dim tbName(7) As String

Public Sub WriteTB(sSqlRd As String, sSqlWr As String)
Me.Timer1.Enabled = True
If Rs.State = adStateOpen Then
Rs.Close
Set ConnRD = Nothing
End If
If Rs1.State = adStateOpen Then
Rs1.Close
Set ConnWR = Nothing
End If

Rs.CursorLocation = adUseClient
Rs.Open sSqlRd, ConnRD, adOpenDynamic, adLockOptimistic
Set Me.DataGrid1.DataSource = Rs
Rs.MoveFirst
Rs1.Open sSqlWr, ConnWR, adOpenDynamic, adLockOptimistic
' Mrc.MoveFirst
' Me.Caption = Rs.RecordCount
MsgBox "OK!:"
On Error Resume Next
Do While Not Rs.EOF
With Rs1
.AddNew
For i = 0 To Rs.Fields.Count - 1
.Fields(i).Value = Rs.Fields(i).Value
DoEvents
Next i
.Update

End With
Rs.MoveNext
l = l + 1
Me.Caption = tbName(j - 1) & "================>" & l
Loop

'Me.Timer1.Enabled = False
End Sub

’這裡是入口
Private Sub lblWr_Click()
Dim sWr As String, sRd As String
Dim strRd(1 To 8) As String
Dim strWr(1 To 8) As String
strWr(1) = "SELECT * From tblAWMMain"
strWr(2) = "SELECT * From tblEveryDayProcessControlSheet"
strWr(3) = "SELECT * From tblEveryDayProcessControlSheetTmp"
strWr(4) = "SELECT * From tblEveryDayprocessControlTotalSheet"
strWr(5) = "SELECT * From tblMaterialDetail"
strWr(6) = "SELECT * From tblMaterialOverDetail"
strWr(7) = "SELECT * From tblProcessInformation_PQ"
strWr(8) = "SELECT * From tblProcessInformation_PT"
strRd(1) = "SELECT * From tblAWMMain"
strRd(2) = "SELECT * From tblEveryDayProcessControlSheet"
strRd(3) = "SELECT * From tblEveryDayProcessControlSheetTmp"
strRd(4) = "SELECT * From tblEveryDayprocessControlTotalSheet"
strRd(5) = "SELECT * From tblMaterialDetail"
strRd(6) = "SELECT * From tblMaterialOverDetail"
strRd(7) = "SELECT * From tblProcessInformation_PQ"
strRd(8) = "SELECT * From tblProcessInformation_PT"

For j = 2 To 2 '8
sWr = strWr(j)
sRd = strRd(j)
Call WriteTB(sRd, sWr)
Next j
MsgBox "OK!"
End Sub

rivate Sub Form_Load()
Dim ConnRead As String
Dim ConnWrite As String



ConnRead = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=J:\backup\ff\Wip-885M.mdb;Persist Security Info=False;"
ConnRead = ConnRead & "Jet OLEDB:Database Password=0411"
ConnRD.Open ConnRead
'
ConnWrite = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & App.Path & "\Wip.mdb;Persist Security Info=False;"
' ConnWrite = ConnWrite & "Jet OLEDB:Database Password=0221"
ConnWR.Open ConnWrite
End Sub


上面這段代碼是讀第二個表,只要這個表出錯返回我所提的問題,請過目。
rainstormmaster 2003-10-20
  • 打赏
  • 举报
回复
代码?

现在我只知道,你的程序有一个或几个函数没有执行成功
onlineboy 2003-10-20
  • 打赏
  • 举报
回复
晕,什么内码呀?看不了

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧