在控制面板设置数据源的时候,就是在注册表添加一些子键,存储配置信息,因此可以使用编写代码方式动态添加数据源。添加一个注册数据源函数:
BOOL CLoadByKeyMFCDlg::LoadDbSource(CString strSourceName,CString strSourceDb,CString strDescribe)
{
HKEY hKey;
DWORD IDisp;
//注册数据源名
CString strSubKey="SOFTWARE\\ODBC.INI\\"+strSourceName;
RegCreateKeyEx(HKEY_CURRENT_USER,strSubKey,0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,&IDisp);
//注册ODBC驱动程序
CString value1("C:\\windows\\system32\\odbcjt32.dll");
RegSetValueEx(hKey,"Driver",0,REG_SZ,(const unsigned char*)((LPCTSTR)value1),strlen((LPCTSTR)value1)+1);
//注册数据库文件
CString value2=strSourceDb;
RegSetValueEx(hKey,"DBQ",0,REG_SZ,(const unsigned char*)((LPCTSTR)value2),strlen((LPCTSTR)value2)+1);
DWORD value3=(DWORD)25;
RegSetValueEx(hKey,"DriverID",0,REG_