请问如果用代码判断ODBC数据源是否存在

请教如果用代码判断ODBC数据源是否存在?
程序中,比较容易实现ODBC的自动配置,可是,当配置好以后,再次启动它会又一次配置.如果出现数据库位置转移的问题,就比较麻烦.

所以想请教一下,如果用代码判断一下指定数据源是否已近存在?

配置数据源代码:
CString   szPath;
GetModuleFileName(NULL,szPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
szPath.ReleaseBuffer();
int   nPos;
nPos=szPath.ReverseFind   ( '\\ ');
szPath=szPath.Left   (nPos);
CString   szFile   =   szPath   +   "\\Data.mdb ";
char   szAtr[256];
sprintf(szAtr, "DSN=%s!DBQ=%s!DEFAULTDIR=%s!!   ", "data ",szFile,szPath);
int   nlen;
nlen   =   strlen(szAtr);
for   (int   i=0;   i <nlen;   i++)
{
if   (szAtr   [i]   ==   '! ')
szAtr   [i]   =   '\0 ';
}

BOOL   iFlag   =   SQLConfigDataSource(NULL,ODBC_ADD_DSN,   "Microsoft   Access   Driver   (*.mdb)\0 ",(LPCSTR)szAtr);
if   (!iFlag)
        AfxMessageBox( "SQLConfigDataSource   Failed ");

------解决方案--------------------
在注册表中查找ODBC项
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI //机器DSN
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI //用户DSN