Dim dNew As New ADODB.Connection
Dim dOld As New ADODB.Connection
Dim rstNew As New ADODB.Recordset
Dim rstOld As New ADODB.Recordset
Private Sub Command1_Click() 主题转换
If rstNew.State 0 Then rstNew.Close
If rstOld.State 0 Then rstOld.Close
SQLquery = "SELECT * FROM Dv_bbs1 WHERE ParentID = 0 ORDER BY " "DateAndTime"
rstOld.CursorLocation = adUseClient
rstOld.Open SQLquery, dOld, adOpenKeyset, adLockPessimistic
SQLquery = "SELECT * FROM cpb_topic"
rstNew.CursorLocation = adUseClient
rstNew.Open SQLquery, dNew, adOpenKeyset, adLockPessimistic
Dim N As Long, J As Long
J = rstOld.RecordCount
Do
rstNew.AddNew
rstNew("f_username") = rstOld("UserName")
rstNew("f_title") = rstOld("Topic")
rstNew("f_content") = rstOld("Body")
rstNew("f_time") = rstOld("DateAndTime")
rstNew("f_bbsid") = rstOld("BoardID")
rstNew("f_ip") = rstOld("ip")
rstNew("f_oldid") = rstOld("RootID")
rstNew("f_hits") = "0"
rstNew("f_reply") = "0"
rstNew("f_lock") = "0"
rstNew("f_isvote") = "0"
rstNew("f_jinghua") = "0"
rstNew("f_topicmod") = "0"
rstNew("f_newbbsid") = "0"
rstNew("f_istop") = "2"
rstNew("f_sign") = "1,,1"
rstNew.Update
rstOld.MoveNext
N = N + 1
Me.Caption = N "/" J
Loop Until rstOld.EOF
End Sub
Private Sub Command2_Click() 跟贴转换
If rstNew.State 0 Then rstNew.Close
If rstOld.State 0 Then rstOld.Close
Dim rstTemp As New ADODB.Recordset
SQLquery = "SELECT * FROM Dv_bbs1 WHERE NOT(ParentID = 0) ORDER BY " "DateAndTime"
rstOld.CursorLocation = adUseClient
rstOld.Open SQLquery, dOld, adOpenKeyset, adLockPessimistic
SQLquery = "SELECT * FROM cpb_reply"
rstNew.CursorLocation = adUseClient
rstNew.Open SQLquery, dNew, adOpenKeyset, adLockPessimistic
Dim N As Long, J As Long, topic_ID As Long, ERROR As Long
J = rstOld.RecordCount
Do
If rstTemp.State 0 Then rstTemp.Close
SQLquery = "SELECT f_id FROM cpb_topic WHERE f_oldid = " rstOld("RootID")
rstTemp.CursorLocation = adUseClient
rstTemp.Open SQLquery, dNew, adOpenKeyset, adLockPessimistic
If Not rstTemp.EOF Then
topic_ID = rstTemp("f_id")
Else
ERROR = ERROR + 1 原动网数据库中已删除帖子不进行转换
End If
rstNew.AddNew
rstNew("f_username") = rstOld("UserName")
rstNew("f_content") = rstOld("Body")
rstNew("f_time") = rstOld("DateAndTime")
rstNew("f_bbsid") = rstOld("BoardID")
rstNew("f_ip") = rstOld("ip")
rstNew("f_topicid") = topic_ID
rstNew("f_sign") = "1,,1"
rstNew.Update
rstOld.MoveNext
N = N + 1
Me.Caption = N "/" J "/" ERROR
Loop Until rstOld.EOF
End Sub
Private Sub Command3_Click()
If rstNew.State 0 Then rstNew.Close
If rstOld.State 0 Then rstOld.Close
SQLquery = "SELECT * FROM cpb_topic"
rstOld.CursorLocation = adUseClient
rstOld.Open SQLquery, dNew, adOpenKeyset, adLockPessimistic
SQLquery = "SELECT * FROM cpb_reply"
rstNew.CursorLocation = adUseClient
rstNew.Open SQLquery, dNew, adOpenKeyset, adLockPessimistic
Dim N As Long, J As Long
J = rstOld.RecordCount
Do
rstOld("f_ip") = "192.168.1.1"
rstOld.Update
rstOld.MoveNext
N = N + 1
Me.Caption = N "/" J
Loop Until rstOld.EOF
End Sub
Private Sub Form_Load()
Dim pstr As String, strPath As String Open ADO 数据库
strPath = App.Path "" "new.mdb"
pstr = pstr "Provider=Microsoft.Jet.OLEDB.4.0"
pstr = pstr "Persist Security Info=False"
pstr = pstr "Data Source=" strPath "Jet OLEDB:Database Password=" RStr3
dNew.Open pstr
strPath = App.Path "" "old.mdb"
pstr = pstr "Provider=Microsoft.Jet.OLEDB.4.0"
pstr = pstr "Persist Security Info=False"
pstr = pstr "Data Source=" strPath "Jet OLEDB:Database Password=" RStr3
dOld.Open pstr
-------------------------------
Exit Sub 本行注释则删除原cpb表中已有的帖子
清除新cpb_replay表
SQLquery = "SELECT * FROM cpb_reply"
rstNew.CursorLocation = adUseClient
rstNew.Open SQLquery, dNew, adOpenKeyset, adLockPessimistic
If Not rstNew.EOF Then
rstNew.MoveFirst
Do
rstNew.Delete
rstNew.MoveNext
Loop Until rstNew.EOF
End If
Exit Sub
rstNew.Close
清除新cpb_topic表
SQLquery = "SELECT * FROM cpb_topic"
rstNew.CursorLocation = adUseClient
rstNew.Open SQLquery, dNew, adOpenKeyset, adLockPessimistic
If Not rstNew.EOF Then
rstNew.MoveFirst
Do
rstNew.Delete
rstNew.MoveNext
Loop Until rstNew.EOF
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
dNew.Close
dOld.Close
End Sub