程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> 如何清空、初始化一個數據庫?

如何清空、初始化一個數據庫?

編輯:關於Access數據庫

如何清空、初始化一個數據庫?
思路:
方法一:通過ADO 或者系統表找到所有的表名,然後通過組織 JET SQL 的 DELETE FROM [TABLENAME] 語句來刪除所有表中的數據;
清空數據以後用 ADO 獲取系統的自動編號字段,判斷其是否為自動增加、長整字段,然後再組織 JET SQL 的 DDL 語句來初始化自動編號;
所有數據初始化結束後還要壓縮修復數據庫。
方法二:如果可能,在創建上述數據庫後就應該立即復制一份全新的備份,這樣就不用事後編程來進行初始化了。
方法三:如果是純 Access 環境可以用 TransferDatabase 的一個參數 StructureOnly 來導入結構本身。但是上述方法 VB+MDB ASP+MDB .Net+MDB 環境不適用

上述思路涉及到的知識點本站文章都已經論述過了。

    只用ado列出所有的表《ADO/DAO/ADO.Net》
    http://access911.net/index.asp?u1=a&u2=72FAB71E14DC

    ado如何取得表的所有字段信息?《VBA》
    http://access911.net/index.asp?u1=a&u2=74FAB11E10DC

    《查詢》如何定義自動編號字段的初始值和步進值?
    http://access911.net/index.asp?u1=a&u2=71FAB01E13DC

    如何使用 ADO 來壓縮或修復 MS Access 文件?(jro的使用)《其他》
    http://access911.net/index.asp?u1=a&u2=71FAB71E

這裡列出網友“wangtIEcheng(/+〆=ろ)”提供的部分代碼:
'在模塊中創建公共函數,執行即可。
'用ADO
Public Sub DeleteAllData()
    Dim strSQL As String
    Dim Cnn As New ADODB.Connection
    Dim Rst As New ADODB.Recordset
   
    Set Cnn = CurrentProject.Connection
   
    strSQL = "SELECT Name FROM MSysObjects WHERE Flags=0 AND Type=1"
    Rst.Open strSQL, Cnn, adOpenKeyset, adLockOptimistic
    If Not Rst.EOF Then
        Rst.MoveFirst
        Do While Not Rst.EOF
            strSQL = "delete * from " & Rst!Name
            Cnn.Execute strSQL
           
            Rst.MoveNext
        Loop
    End If
   
    MsgBox "OK"
End Sub

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved