Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16497812
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:57:37

下载本文示例代码
  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) |
给主人留下些什么吧!~~