动态连接数据库的配置问题 ACCESS +SQL 2000

来源:互联网 发布:cydia软件源2016 编辑:程序博客网 时间:2024/05/22 09:50

     Access的动态配置问题
string path,pathb,dbpath,result
int k
path="HKEY_CURRENT_USER/Software/ODBC/ODBC.INI/dsn_name"
pathb="HKEY_CURRENT_USER/Software/ODBC/ODBC.INI/ODBC Data Sources/"
k=registryget(path, "DBQ", result)
if k<>1  then
 dbpath=GetCurrentDirectory( )+"/db_name.mdb"
 registrySet(path, "DBQ", RegString!,dbpath)
 registrySet(path, "Driver", RegString!,"C:/WINDOWS/system32/odbcjt32.dll")
 registrySet(path, "DriverId", ReguLong!,25)
 registrySet(path, "FIL", RegString!, "MS Access")
 registrySet(path, "UID", RegString!, "")
 registrySet(path, "PWD", RegString!, "")
 registrySet(path, "SafeTransactions", ReguLong!, 0)
 registrySet(pathb, "dsn_name", RegString!, "Microsoft Access Driver(*.mdb)")
end if

配置时可打开注册表,参照一下里面的内容,就知道为什么要这么配置了。


************************************************************************************
   怎样在程序中动态配置连接SQL SERVER的ODBC

建立一个system DSN:
////////////////////////////////////
    GetMem(WinDir,256);
    GetWindowsDirectory(WinDir,128);
//////////////////////////////////////////////////////////
    MyReg:=TRegistry.Create;
    MyReg.RootKey:=HKEY_LOCAL_MACHINE;
    if not MyReg.KeyExists('SoftWare/ODBC/ODBC.INI/_ODBC_Name')then
      begin
        MyReg.OpenKey('SoftWare/ODBC/ODBC.INI/_ODBC_Name',True);
      end
    else
      begin
        MyReg.OpenKey('SoftWare/ODBC/ODBC.INI/_ODBC_Name',False);
      end;
    MyReg.WriteString('Database','_dataBaseName ');
    MyReg.WriteString('Driver',WinDir+'/System32/SQLSRV32.dll');
    MyReg.WriteString('LastUser',_帐号);
    MyReg.WriteString('Server','(local)');
    MyReg.CloseKey;
////////////////////////////////
    if not MyReg.KeyExists('SoftWare/ODBC/ODBC.INI/ODBC Data Sources')then
      begin
        MyReg.OpenKey('SoftWare/ODBC/ODBC.INI/ODBC Data Sources',True);
      end
    else
      begin
        MyReg.OpenKey('SoftWare/ODBC/ODBC.INI/ODBC Data Sources',False);
      end;
    MyReg.WriteString('_ODBC_Name','SQL Server');
    MyReg.CloseKey;
    MyReg.Free;
///////////////////////////
带“_”的为自定义的字符串。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 C语言实验题――分数序列 C语言实验题――数组逆序 C语言实验题――一元二次方程 C语言实验题――某年某月的天数 相邻最大数 Picture 羊村运动会――撑杆跳高 字符矩阵排序 1535:找规律填数字 idm6.38 C语言实验题――圆周率 缺陷检测 成都瓶儿 谭松韵 桥本 YouTube、Google+、Facebook、Twitter、维基百科最全hosts C语言实验题――拍皮球 求奇数的乘积 C语言实验题――字符编码 intellijlicense andriod导航栏 mfc文件上传下载 Eclipse4.8中搭建Android开发环境 1178:C语言实验题――单词统计 现在小明决定实现一个类似malloc的内存分配系统,具体来说,他需要连续处理若干申请内存的请求,这个 给定某二叉树的前序序列和中序序列,输出该二叉树的后序序列。(输入的前序遍历和中序遍历的结果中都不含重 vibe twitter 幼呦 fasttunnel 一叫三吱 浩君恋母 C语言实现朴素贝叶斯 shadowsocks服务 CCF201509-2日期计算 song:平面上若干个点,求任意两点间的最长距离 求n阶乘(1<=n<=10000) 【问题描述】计算一个班级N个学生三门课的各门课平均分,三门课总分,并输出成绩最高者的信息【输入形式】 NOD32分享区 舞蹈生 busfan