VC中用ADO操作数据库用.udl连接不同数据库时的问题,本来,希望用这种方法可以做个代码通用的程序,但发现不同数据库中SQL语句有些差别,我用的是ACCESS和SQL SEVER,里面如果在SQL SERVER中语句中用'%d',而ACCESS时,就不用引号,如果用会出错.  我想能否获取下.udl文件所连接的数据源的种类信息,如是ACCESS还是SQL SERVER,这样,我可以在程序中做下判断,不同情况下用不同语句,程序也就通用了. 不过,不知道如何获取数据源种类信息

解决方案 »

  1.   

    ADO连接数据库时,不同的数据库不是连接语句不同么?m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mydb.mdb","","",adModeUnknown);//Access
    m_pConnection->Open("Provider=SQLOLEDB.1;Server=192.168.1.6;DATABASE=mysql;UID=sa;PWD=;","","",adModeUnknown);
    //sql2000
      

  2.   

    那其他数据库呢?没种一条?.udl好象就可以是以界面形式选择数据库的
      

  3.   

    其他的数据库我没试过,嘿嘿1. 访问ODBC数据:"Provider=MSDASQL;DSN=dsnName;UID=userName;PWD=userPassword;"2. 访问ACCESS 97数据库:"Provider=Microsoft.Jet.OLEDB.3.51;Data Source=databaseName;User ID=userName;Password=userPassword;"3. 访问ACCESS 2000数据库:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=databaseName;User ID=userName;Password=userPassword;"4. 访问MS SQL数据库:"Provider=SQLOLEDB;Data Source=serverName;Initial Catalog=databaseName;User ID=userName;Password=userPassword;"5. 访问ORACLE数据库:"Provider=MSDAORA.1;Data Source=serverName;User ID=userName;Password=userPassword;"