获得编辑框中的路径信息,然后通过一个button点击来建立数据库连接?

解决方案 »

  1.   

    我知道如何获取路径及DBF库名字,我是问如何根据这个信息建立数据库的连接,因为数据连接一般需要建立数据源,建立动态数据源又太麻烦,而且也有一定的局限。看是否有直接按指定的数据路径及库名来打开并获取数据的方法
      

  2.   

    strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +m_strDatabase;其中:m_strDatabase 就是数据源的路径。
      

  3.   

    ADO, DAO都可以直接用数据库文件名。
      

  4.   

    以下一段程序是我写的,VC6+ADO+ACCESS2000
    我做的时候尽量考虑了多的情况
    你可以拿去参考一下
    CString strFile;
    strFile = "CVA.mdb";CFileFind DBFind;
    if ( !DBFind.FindFile(strFile) )
    {
    int nResponse = MessageBox("没有找到CVA.mdb!\n是否手动查找?", "定位数据库错误", MB_YESNO );
    if ( IDYES == nResponse )
    {
    //查找数据库文件
    static LPCTSTR lpszFilter = "数据库文件 (*.mdb)|*.mdb||";
    CFileDialog dbDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, lpszFilter);
    if ( IDOK == dbDlg.DoModal() )
    {
    //重新定位了文件
    strFile = dbDlg.GetPathName();
    //把文件复制到工作目录中,方便使用
    ::CopyFile(strFile, "CVA.mdb",NULL);
    strFile = "CVA.mdb";
    }
    }
    else
    {
    //程序启动失败
    AfxMessageBox("由于未能够加载数据库文件,程序启动失败!\n请与供应商联系!");
    return FALSE;
    }
    }

    CString strDB;
    strDB.Format("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = %s", strFile);
    然后下面做一堆什么try{ open....}catch(...){}之类的东西
      

  5.   

    将用户输入的信息读取进来附给以下四个变量,再进行连接。
    //与本地数据库建立连接
    CString Local_strSQL; 
    char Local_ip[16];
    char Local_Database[20];
    char Local_Username[16];
    char Local_Password[16];
    //连接数据库
    m_pConnection.CreateInstance(__uuidof(Connection));
    Local_strSQL.Format("driver={SQL Server};Server=%s;DATABASE=%s;UID=%s;PWD=%s",Back_ip,Back_Database,Back_Username,Back_Password);
    try                 
    {
    m_pConnection->ConnectionTimeout = 5;///设置超时时间为5秒
    m_pConnection->Open(_bstr_t(Local_strSQL),"","",adModeUnknown);
    AfxMessageBox("连接本地数据库OK!");
    }
    catch(_com_error e)
    {
    AfxMessageBox("连接本地数据库失败!");
    return FALSE;
    }
      

  6.   

    //** ODBC SDK API
    TCHAR szConnIn[512];
    TCHAR szConnOut[512];
    short cbConnIn, cbConnOut;
    SQLRETURN rc;
    // 连接Visual Foxpro free tables 
    cbConnIn=wsprintf(szConnIn, TEXT("DRIVER={Microsoft Visual FoxPro Driver};SourceDB=%s;SourceType=dbf;"), szPath);// 连接dBASE数据库
    cbConnIn=wsprintf(szConnIn, TEXT("Driver={Microsoft dBASE Driver (*.dbf)};DBQ=%s; DriverID=277;), szPath);rc=SQLDriverConnect(hdbc, NULL, (SQLTCHAR *)szConnIn, cbConnIn, (SQLTCHAR *)szConnOut, sizeof(szConnOut), &cbConnOut, SQL_DRIVER_NOPROMPT);if(SQL_SUCCESS==rc || SQL_SUCCESS_WITH_INFO==rc)
    {
    ...
    }