压缩和修复数据库 Dim je As New jro.JetEngine ' Make sure that a file doesn't exist with the name of If Dir(strDataBaseFileNameNew) <> "" Then Kill strDataBaseFileNameNew ' Compacts and encrypts database. je.CompactDatabase _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Jet OLEDB:Database Password=joybig;" & _ "Data Source=" & strDataBaseFileName, _ _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Jet OLEDB:Database Password=joybig;" & _ "Data Source=" & strDataBaseFileNameNew & _ ";Jet OLEDB:Encrypt Database=True" Set je = Nothing FileCopy strDataBaseFileNameNew, strDataBaseFileName Kill strDataBaseFileNameNew
什么地方 不对 哦?直接用ado 是不行的.
adox那?可以吗???以前没有接触过!
用 ADOX ?不行。只有 用 DAO 的 DBEngine 和 JetEngine
不会把!这么恐怖?ado没有办法????!!!!!
我想压缩MDB最好是用DAO?其他方法吗?不知道
ADO可以实现。CompactDatabase(如不知道此函数的用法,请查MSDN)
ADO可以实现。CompactDatabase(如不知道此函数的用法,请查MSDN)
用DAO吧,十分方便。 用compactdatabase函数
CompactDatabase 是 DAO 的。
(msdn中的技术文章) how to:Compacting Micorsoft Access Database via ADO.1. add a references to your project: Microsoft Jet and Replication Objects *.*.library.2. then: jro.compactdatabase "provider=***; data source=....."note: 这个方法替代了DAO中的repairdatabase方法。
一下代码只支持8.3格式文件谁会win2k格式的?******************************************************************** Const ODBC_ADD_DSN = 1 ' Add data source0D Const ODBC_CONFIG_DSN = 2 ' Configure (edit) data source Const ODBC_REMOVE_DSN = 3 ' Remove data source0D#If Win32 Then Declare Function SQLCONFIGDATASOURCE Lib "odbccp32.dll" Alias "SQLConfigDataSource" _0D (ByVal hWndParent&, _ ByVal fRequest, _ ByVal lpszDriver$, _ 0A ByVal lpszAttributes$) As Boolean#ElseIf Win16 Then Declare Function SQLCONFIGDATASOURCE Lib "odbcinst.dll" _ (ByVal hWndParent, _ 0A ByVal fRequest, _ ByVal lpszDriver$, _ 0A ByVal lpszAttributes$) As Boolean #End IfPublic Sub CompactDb() Dim dbDriver As String 0A Dim dbAttributes As String Dim result As Boolean 0A #If Win32 Then Let dbDriver = "Microsoft Access Driver (*.mdb)" #ElseIf Win16 Then Let dbDriver = "Access Files (*.mdb)" #End If Let dbAttributes = "COMPACT_DB=c:\FCQY.mdb c:\F1.mdb General" & Chr$(0) _ & "UID=admin" & Chr$(0) _ & "PWD=xxxxx" result = SQLCONFIGDATASOURCE(0, ODBC_CONFIG_DSN, dbDriver, dbAttributes) If (False = result) Then MsgBox "Establishing DSN failed! Error: " & result End End IfEnd Sub 我是小山,我喜欢VB,现在在学习C#和.net的相关知识 欢迎使用: SourceCode Explorer(源代码数据库) 当前版本: 1.0.690 作者: Shawls 个人主页: Http://Shawls.Yeah.Net E-Mail: [email protected] QQ: 9181729
完全的:******************************************************************** Const ODBC_ADD_DSN = 1 ' Add data source0D Const ODBC_CONFIG_DSN = 2 ' Configure (edit) data source Const ODBC_REMOVE_DSN = 3 ' Remove data source0D#If Win32 Then Declare Function SQLCONFIGDATASOURCE Lib "odbccp32.dll" Alias "SQLConfigDataSource" _0D (ByVal hWndParent&, _ ByVal fRequest, _ ByVal lpszDriver$, _ 0A ByVal lpszAttributes$) As Boolean#ElseIf Win16 Then Declare Function SQLCONFIGDATASOURCE Lib "odbcinst.dll" _ (ByVal hWndParent, _ 0A ByVal fRequest, _ ByVal lpszDriver$, _ 0A ByVal lpszAttributes$) As Boolean #End IfPublic Sub CompactDb() Dim dbDriver As String 0A Dim dbAttributes As String Dim result As Boolean 0A #If Win32 Then Let dbDriver = "Microsoft Access Driver (*.mdb)" #ElseIf Win16 Then Let dbDriver = "Access Files (*.mdb)" #End If Let dbAttributes = "COMPACT_DB=c:\FCQY.mdb c:\F1.mdb General" & Chr$(0) _ & "UID=admin" & Chr$(0) _ & "PWD=xxxxx" result = SQLCONFIGDATASOURCE(0, ODBC_CONFIG_DSN, dbDriver, dbAttributes) If (False = result) Then MsgBox "Establishing DSN failed! Error: " & result End End IfEnd Sub 取得File 8.3之文件名称格式 (录入日期:2001.09.16 阅读次数:152) 转载不详作者:不详 取得File 8.3之文件名称格式 作者: cwwPrivate Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long Private Declare Function GetFullPathName Lib "kernel32" _ Alias "GetFullPathNameA" (ByVal lpFileName As String, _0D ByVal nBufferLength As Long, ByVal lpBuffer As String, _0D lpFilePart As Byte) As LongPrivate Sub Command1_Click()0D Dim aa As Long, pbase As Long0D Dim FullPath As String, ShortPath As String Dim SouStr As String Dim len5 As Long Dim fname() As Byte Dim gg As String SouStr = "C:vb5.exe" ShortPath = String(255, 0) aa = GetShortPathName(SouStr, ShortPath, 256) SouStr = Left(ShortPath, InStr(1, ShortPath, Chr(0)) - 1) Debug.Print SouStr End Sub 我是小山,我喜欢VB,现在在学习C#和.net的相关知识 欢迎使用: SourceCode Explorer(源代码数据库) 当前版本: 1.0.690 作者: Shawls 个人主页: Http://Shawls.Yeah.Net E-Mail: [email protected]
Dim je As New jro.JetEngine
' Make sure that a file doesn't exist with the name of
If Dir(strDataBaseFileNameNew) <> "" Then Kill strDataBaseFileNameNew
' Compacts and encrypts database.
je.CompactDatabase _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Jet OLEDB:Database Password=joybig;" & _
"Data Source=" & strDataBaseFileName, _
_
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Jet OLEDB:Database Password=joybig;" & _
"Data Source=" & strDataBaseFileNameNew & _
";Jet OLEDB:Encrypt Database=True"
Set je = Nothing
FileCopy strDataBaseFileNameNew, strDataBaseFileName
Kill strDataBaseFileNameNew
用compactdatabase函数
jro.compactdatabase "provider=***; data source=....."note: 这个方法替代了DAO中的repairdatabase方法。
thank you 我去调试一下!
压缩工具可消除现有数据库中的未占用空间。它是通过创建一个新的目标数据库,并将旧数据库中的所有对象复制到新数据库中来实现的。如果您选择将数据库压缩到原来的数据库名称下,而不是新的数据库,那么压缩工具将会创建一个临时数据库,将原数据库中的所有对象导出到临时数据库中,删除原来的数据库,然后将临时数据库重命名为原来的数据库。 修复工具只用来修复数据库中的表、查询和索引。它不能修复已损坏的窗体、报表、宏或模块。以下是压缩工具所执行的操作列表。
重新组织表的页面,使之放在相邻的数据库页面上。由于表不再散放在数据库中,所以可提高性能。
回收对象和记录删除创建的未使用的空间。当从数据库中删除对象或记录时,就会将它们所占用的空间打上标记,提供给数据库新添加项使用。但是,除非对数据库进行压缩,否则数据库不会变小。对于经常添加、删除和更新对象及记录的数据库而言,应该经常对数据库进行压缩。
重新递增 AutoNumber 字段,使分配的下一个值比其余记录的最大值大 1。例如,如果删除了数据库中的所有记录,在压缩数据库后添加下一个记录时,AutoNumber 字段中的值将为 1。如果数据库中 AutoNumber 最大余值为 50,那么在压缩值后添加下一个记录时,它的值为 51。注意,即使压缩之前添加的记录包含的值大于 50,它也适用。
重新生成查询优化过程使用的表统计数字。通常,如果回滚事务、由于断电而没有正常关闭数据库或者关机前无法完全退出使用 Microsoft Jet 的程序,这些统计数字可能会随时间而过时。
标记所有的查询,以便下次执行查询时重新进行编译。这一点很重要,因为数据库统计数字可以会发生变化,并且以前编译的查询的查询计划可能不准确。
Const ODBC_ADD_DSN = 1 ' Add data source0D
Const ODBC_CONFIG_DSN = 2 ' Configure (edit) data source
Const ODBC_REMOVE_DSN = 3 ' Remove data source0D#If Win32 Then Declare Function SQLCONFIGDATASOURCE Lib "odbccp32.dll" Alias "SQLConfigDataSource" _0D
(ByVal hWndParent&, _
ByVal fRequest, _
ByVal lpszDriver$, _
0A ByVal lpszAttributes$) As Boolean#ElseIf Win16 Then Declare Function SQLCONFIGDATASOURCE Lib "odbcinst.dll" _
(ByVal hWndParent, _
0A ByVal fRequest, _
ByVal lpszDriver$, _
0A ByVal lpszAttributes$) As Boolean
#End IfPublic Sub CompactDb()
Dim dbDriver As String
0A Dim dbAttributes As String
Dim result As Boolean
0A
#If Win32 Then
Let dbDriver = "Microsoft Access Driver (*.mdb)"
#ElseIf Win16 Then
Let dbDriver = "Access Files (*.mdb)"
#End If Let dbAttributes = "COMPACT_DB=c:\FCQY.mdb c:\F1.mdb General" & Chr$(0) _
& "UID=admin" & Chr$(0) _
& "PWD=xxxxx" result = SQLCONFIGDATASOURCE(0, ODBC_CONFIG_DSN, dbDriver, dbAttributes)
If (False = result) Then
MsgBox "Establishing DSN failed! Error: " & result
End
End IfEnd Sub
我是小山,我喜欢VB,现在在学习C#和.net的相关知识
欢迎使用: SourceCode Explorer(源代码数据库)
当前版本: 1.0.690
作者: Shawls
个人主页: Http://Shawls.Yeah.Net
E-Mail: [email protected]
QQ: 9181729
Const ODBC_ADD_DSN = 1 ' Add data source0D
Const ODBC_CONFIG_DSN = 2 ' Configure (edit) data source
Const ODBC_REMOVE_DSN = 3 ' Remove data source0D#If Win32 Then Declare Function SQLCONFIGDATASOURCE Lib "odbccp32.dll" Alias "SQLConfigDataSource" _0D
(ByVal hWndParent&, _
ByVal fRequest, _
ByVal lpszDriver$, _
0A ByVal lpszAttributes$) As Boolean#ElseIf Win16 Then Declare Function SQLCONFIGDATASOURCE Lib "odbcinst.dll" _
(ByVal hWndParent, _
0A ByVal fRequest, _
ByVal lpszDriver$, _
0A ByVal lpszAttributes$) As Boolean
#End IfPublic Sub CompactDb()
Dim dbDriver As String
0A Dim dbAttributes As String
Dim result As Boolean
0A
#If Win32 Then
Let dbDriver = "Microsoft Access Driver (*.mdb)"
#ElseIf Win16 Then
Let dbDriver = "Access Files (*.mdb)"
#End If Let dbAttributes = "COMPACT_DB=c:\FCQY.mdb c:\F1.mdb General" & Chr$(0) _
& "UID=admin" & Chr$(0) _
& "PWD=xxxxx" result = SQLCONFIGDATASOURCE(0, ODBC_CONFIG_DSN, dbDriver, dbAttributes)
If (False = result) Then
MsgBox "Establishing DSN failed! Error: " & result
End
End IfEnd Sub
取得File 8.3之文件名称格式
(录入日期:2001.09.16 阅读次数:152) 转载不详作者:不详 取得File 8.3之文件名称格式
作者: cwwPrivate Declare Function GetShortPathName Lib "kernel32" Alias
"GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As
String, ByVal cchBuffer As Long) As Long
Private Declare Function GetFullPathName Lib "kernel32" _
Alias "GetFullPathNameA" (ByVal lpFileName As String, _0D
ByVal nBufferLength As Long, ByVal lpBuffer As String, _0D
lpFilePart As Byte) As LongPrivate Sub Command1_Click()0D
Dim aa As Long, pbase As Long0D
Dim FullPath As String, ShortPath As String
Dim SouStr As String
Dim len5 As Long
Dim fname() As Byte
Dim gg As String
SouStr = "C:vb5.exe"
ShortPath = String(255, 0)
aa = GetShortPathName(SouStr, ShortPath, 256)
SouStr = Left(ShortPath, InStr(1, ShortPath, Chr(0)) - 1)
Debug.Print SouStr
End Sub
我是小山,我喜欢VB,现在在学习C#和.net的相关知识
欢迎使用: SourceCode Explorer(源代码数据库)
当前版本: 1.0.690
作者: Shawls
个人主页: Http://Shawls.Yeah.Net
E-Mail: [email protected]
JRO jetengine对象用一个CompactDatabase方法可以压缩数据库。
下面是一个使用CompactDatabase压缩数据库的例子:
strConnOriginal = "Prvider = Microsoft.jet.oledb.4.0;Data Source = FilePath;" '源数据库
strConnNew = "Microsoft.jet.oledb.4.0;Data Source = FilePath;" '压缩后数据库
set jroEngine = New JRO.JetEngine
jroEngine.CompactDatabase strConnOriginal,strConnNew
请注意:我不希望使用任何其他的库文件(系统自带除外) 我是小山,我喜欢VB,现在在学习C#和.net的相关知识 欢迎您使用: SourceCode Explorer(源代码数据库)
当前版本: 1.0.690
作者: Shawls
来自: Http://www.dapha.net
个人主页: Http://Shawls.Yeah.Net
E-Mail: [email protected]
QQ: 9181729