比如说我想作一个数据库管理程序,
开始建立一个登陆界面,要求设置连接的数据库(sql server ),
但是这个数据库可能不是本机子上的.
   以前本地数据库都是直接设置系统的数据源名,然后用odbc连接,
这个该怎么办?

解决方案 »

  1.   

    如果是Ado编程。
    增加一个ini文件,可以设置那种。
    第一次启动的时候需要提示user选择一个数据库名字,之后再次启动时候从ini文件中读取该文件。
      

  2.   

    在StdAfx.h中加入一行
    #import "c:\program files\common files\system\ado\msado15.dll" \
    no_namespace \
    rename("BOF","adoBOF") \
    rename("EOF","adoEOF")
    在应用类中的InitInstance()中加入CoInitialize(NULL);
                ExitInstance()中加入CoUninitialize()
    这样ADO环境就具备了,你就可以在任何地方建立数据库连接
    关于这个连接应该资料很多,相信你也知道,希望对你有帮助
      

  3.   

    远程的数据库一样可以用odbc啊
      

  4.   

    把连接串中不变的字符串写死,把如:服务器名、数据库服务器名、用户名、密码用参数传递,其值应该保存在ini文件或注册表中。
      

  5.   

    岂不是很容易的事?
    你建一个对话框,填写有关的SQLServer服务器的位置
    完了不就ok了么
    通过这个位置把它传给相应的连接字符串不就Ok了??
    然后通过这个玩意建立相应的连接
      

  6.   

    岂不是很容易的事?
    你建一个对话框,填写有关的SQLServer服务器的位置
    完了不就ok了么
    通过这个位置把它传给相应的连接字符串不就Ok了??
    然后通过这个玩意建立相应的连接
    我也是是个观点!
      

  7.   

    在stdfx.h已经添加
    #define INITGUID
    #import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","EndOfFile")
    #include "icrsint.h"
    在连接数据库的地方输入:
    ::CoInitialize(NULL);
    _ConnectionPtr  MyDb;   
    MyDb.CreateInstance(_uuidof(Connection)); 
    MyDb.Open("Provider=SQLOLEDB;SERVER=server;DATABASE=samp;UID=admin;PWD=admin","","",-1);
    ...后边随便怎么访问拉