下载本文示例代码
1、给没有密码的数据库添加密码:
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=d:\\DB\\REMO.mdb;Mode=Share Deny Read|Share Deny Write", "","",0);m_pConnection->Execute("ALTER DATABASE PASSWORD [123] NULL",NULL,adCmdText); 以上是设置密码为123 2、将密码123改为456:
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=d:\\DB\\REMO.mdb;Jet OLEDB:DataBase Password=SANYCOM;Mode=Share Deny Read|Share Deny Write","","",0);m_pConnection->Execute("ALTER DATABASE PASSWORD [456] [123]",NULL,adCmdText); 注意和1中的不同:Open的第一个参数中多了密码部分,这样才能正常开发数据库。 注意:open中的第一个参数中的Data Source=完整路径\文件名.mdb(没有完整路径open失败) 3、访问有密码的数据库 方法一:
hr = m_pConnection->Open("DSN=REMO","Admin","456",0);//其中REMO为数据源,合适数据源存在的情况,当然如果open失败可以重新设置数据源(见后面) 方法二:
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=d:\\DB\\REMO.mdb;Jet OLEDB:DataBase Password=456;Mode=Share Deny Read|Share Deny Write","","",0); 注意:第2,3个参数为空,参数值已经在第一个参数里了,缺点:数据源位置在程序中写死了,不好,最好动态获得数据库文件位置,用GetModuleFileName()很方便的。 4、在程序中设置数据源的方法:
//设置数据库文件的位置在SMC的上一目录//-----------------------------------------------------------CString sPath;//得到可执行程序的完整路径和程序名GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH 1),MAX_PATH);sPath.ReleaseBuffer ();// AfxMessageBox(sPath);int nPos;nPos=sPath.ReverseFind ('\\');sPath=sPath.Left (nPos);// nPos=sPath.ReverseFind('\\');// sPath=sPath.Left (nPos);//得到数据库文件的路径和文件名CString lpszFile = sPath "\\REMO.mdb";m_strFilePath = lpszFile;char* szDesc;int mlen;szDesc=new char[256];sprintf(szDesc,"DSN=%s? DESCRIPTION=远程车载控制数据源? DBQ=%s? FIL=MicrosoftAccess? DEFAULTDIR=%s?? ","REMO",lpszFile,sPath);//AfxMessageBox(szDesc);mlen = strlen(szDesc);for (int i=0; i
支持。 另外,还要加入ODBCCP32.lib库文件
1、给没有密码的数据库添加密码:
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=d:\\DB\\REMO.mdb;Mode=Share Deny Read|Share Deny Write", "","",0);m_pConnection->Execute("ALTER DATABASE PASSWORD [123] NULL",NULL,adCmdText); 以上是设置密码为123 2、将密码123改为456:
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=d:\\DB\\REMO.mdb;Jet OLEDB:DataBase Password=SANYCOM;Mode=Share Deny Read|Share Deny Write","","",0);m_pConnection->Execute("ALTER DATABASE PASSWORD [456] [123]",NULL,adCmdText); 注意和1中的不同:Open的第一个参数中多了密码部分,这样才能正常开发数据库。 注意:open中的第一个参数中的Data Source=完整路径\文件名.mdb(没有完整路径open失败) 3、访问有密码的数据库 方法一:
hr = m_pConnection->Open("DSN=REMO","Admin","456",0);//其中REMO为数据源,合适数据源存在的情况,当然如果open失败可以重新设置数据源(见后面) 方法二:
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=d:\\DB\\REMO.mdb;Jet OLEDB:DataBase Password=456;Mode=Share Deny Read|Share Deny Write","","",0); 注意:第2,3个参数为空,参数值已经在第一个参数里了,缺点:数据源位置在程序中写死了,不好,最好动态获得数据库文件位置,用GetModuleFileName()很方便的。 4、在程序中设置数据源的方法:
//设置数据库文件的位置在SMC的上一目录//-----------------------------------------------------------CString sPath;//得到可执行程序的完整路径和程序名GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH 1),MAX_PATH);sPath.ReleaseBuffer ();// AfxMessageBox(sPath);int nPos;nPos=sPath.ReverseFind ('\\');sPath=sPath.Left (nPos);// nPos=sPath.ReverseFind('\\');// sPath=sPath.Left (nPos);//得到数据库文件的路径和文件名CString lpszFile = sPath "\\REMO.mdb";m_strFilePath = lpszFile;char* szDesc;int mlen;szDesc=new char[256];sprintf(szDesc,"DSN=%s? DESCRIPTION=远程车载控制数据源? DBQ=%s? FIL=MicrosoftAccess? DEFAULTDIR=%s?? ","REMO",lpszFile,sPath);//AfxMessageBox(szDesc);mlen = strlen(szDesc);for (int i=0; i支持。 另外,还要加入ODBCCP32.lib库文件
下载本文示例代码
VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧VC实现Access2000文件密码操作技巧
阅读(198) | 评论(0) | 转发(0) |