|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
用户时常会发现其实自己并不是第一个选用MySQL数据库的先驱者。”access|程序|创立|数据|数据库|紧缩
*--------------------------------------------
*程序:创立、紧缩Access数据库并修正暗码演示
*计划:红雨
*--------------------------------------------
LocallcMdbFile,lcRetuStr
lcMdbFile=[C:TempTestCreaMdbFile.mdb]
lcPswd1=[test1]
lcPswd2=[test2]
lcPswd3=[test3]
lcRetuStr=[创立、紧缩Access数据库并修正暗码演示:]+Chr(13)
IfCreateMDB(lcMdbFile,lcPswd1)
lcRetuStr=lcRetuStr+Chr(13)+[1、创立数据库乐成-暗码:]+lcPswd1
IfCompactMDB(lcMdbFile,lcPswd1,lcPswd2)
lcRetuStr=lcRetuStr+Chr(13)+[2、紧缩并修正暗码乐成-暗码:]+lcPswd2
IfChangeMdbPassword(lcMdbFile,lcPswd2,lcPswd3)
lcRetuStr=lcRetuStr+Chr(13)+[3、独自修正数据库暗码乐成-暗码:]+lcPswd3
Else
lcRetuStr=lcRetuStr+Chr(13)+[3、独自修正数据库暗码失利]
Endif
Else
lcRetuStr=lcRetuStr+Chr(13)+[2、紧缩并修正暗码失利]
Endif
Else
lcRetuStr=lcRetuStr+Chr(13)+[1、创立数据库失利]
Endif
=MessageBox(lcRetuStr,0+64+0,[红雨提醒])
Return
*--------------------------------------------
FunctionCreateMDB(tcMdbFile,tcPswdStr)
*创立Access数据库文件(.mdb)
LocalIsOK
IsOK=.F.
tcMdbFile=iif(Type([tcMdbFile])=[C],tcMdbFile,[])
tcPswdStr=iif(Type([tcPswdStr])=[C],tcPswdStr,[])
IfFile(tcMdbFile)
Erase(tcMdbFile)
Endif
If!File(tcMdbFile)
IsOK=.T.
LocalloEngine,lcOldError,lcCmdStrs
lcOldError=On([ERROR])
OnErrorIsOK=.F.
loCatalog=CreateObject([ADOX.Catalog])
lcCmdStrs=[Provider=Microsoft.Jet.OLEDB.4.0];
+[;DataSource=]+tcMdbFile;
+[;JetOLEDB:DatabasePassword=]+tcPswdStr
loCatalog.Create(lcCmdStrs)
ReleaseloCatalog
loCatalog=Null
OnError&lcOldError.
Endif
ReturnIsOKandFile(tcMdbFile)
Endfunc
*--------------------------------------------
FunctionCompactMDB(tcMdbFile,tcOldPswd,tcNewPswd)
*紧缩Access数据库并设置暗码
LocalIsOK
IsOK=.F.
tcMdbFile=iif(Type([tcMdbFile])=[C],tcMdbFile,[])
tcOldPswd=iif(Type([tcOldPswd])=[C],tcOldPswd,[])
tcNewPswd=iif(Type([tcNewPswd])=[C],tcNewPswd,tcOldPswd)
IfFile(tcMdbFile)
IsOK=.T.
LocalloEngine,lcTmpFile,lcOldError,lcCompOldStr,lcCompNewStr
lcOldError=On([ERROR])
OnErrorIsOK=.F.
lcTmpFile=Addb(JustPath(tcMdbFile))+subs(Sys(2015),3)+[.mdb]
Rename(tcMdbFile)To(lcTmpFile)
If!File(tcMdbFile)andFile(lcTmpFile)
lcCompOldStr=[Provider=Microsoft.Jet.OLEDB.4.0];
+[;DataSource=]+lcTmpFile;
+[;JetOLEDB:DatabasePassword=]+tcOldPswd
lcCompNewStr=[Provider=Microsoft.Jet.OLEDB.4.0];
+[;DataSource=]+tcMdbFile;
+[;JetOLEDB:DatabasePassword=]+tcNewPswd
loEngine=CreateObject([JRO.JetEngine])
loEngine.CompactDatabase(lcCompOldStr,lcCompNewStr)
ReleaseloEngine
loEngine=Null
IfFile(tcMdbFile)
Erase(lcTmpFile)
Else
Rename(lcTmpFile)To(tcMdbFile)
Endif
Else
IsOK=.F.
Endif
OnError&lcOldError.
Endif
ReturnIsOKandFile(tcMdbFile)
Endfunc
*--------------------------------------------
FunctionChangeMdbPassword(tcMdbFile,tcOldPswd,tcNewPswd)
*修正Access数据库的暗码,必需独有翻开数据库,利用前请确保没有其他程序利用数据库
LocalIsOK
IsOK=.F.
lcRetuStr=[]
tcMdbFile=iif(Type([tcMdbFile])=[C],tcMdbFile,[])
tcOldPswd=iif(Type([tcOldPswd])=[C],tcOldPswd,[])
tcNewPswd=iif(Type([tcNewPswd])=[C],tcNewPswd,[])
IfFile(tcMdbFile)
IsOK=.T.
LocalloADODB,lcOldError
lcOldError=On([ERROR])
OnErrorIsOK=.F.
loADODB=CreateObject([ADODB.Connection])
loADODB.Mode=12
loADODB.Provider=[Microsoft.Jet.OLEDB.4.0]
loADODB.Properties([JetOLEDB:DatabasePassword])=tcOldPswd
loADODB.Open([DataSource=]+tcMdbFile)
loADODB.Execute(ALTERDATABASEPASSWORD[+tcNewPswd+][+tcOldPswd+])
loADODB.Close
ReleaseloADODB
loADODB=Null
OnError&lcOldError.
Endif
ReturnIsOK
Endfunc
*--------------------------------------------
由于MySQL数据库已经如此普及,对企业来说它无疑是一个更好的选择。 |
|