ADO连接字符串

原创 2011年10月31日 20:40:54

博客转移:http://vivianke.blog.163.com/blog/static/29715271200781121956674/

 

第一种:使用数据源DSN

BOOL CMaterial_MISApp::InitInstance()
{
    AfxEnableControlContainer();

    // Standard initialization
    // If you are not using these features and wish to reduce the size
    //  of your final executable, you should remove from the following
    //  the specific initialization routines you do not need.

#ifdef _AFXDLL
    Enable3dControls();            // Call this when using MFC in a shared DLL
#else
    Enable3dControlsStatic();    // Call this when linking to MFC statically
#endif

    // Change the registry key under which our settings are stored.
    // TODO: You should modify this string to be something appropriate
    // such as the name of your company or organization.
    SetRegistryKey(_T("Local AppWizard-Generated Applications"));

    LoadStdProfileSettings();  // Load standard INI file options (including MRU)

    // Register the application's document templates.  Document templates
    //  serve as the connection between documents, frame windows and views.

    m_iLoginCount=0;
    if (FAILED(::CoInitialize(NULL))) {
        AfxMessageBox("ADO Init failed");
        return false;
    }

    try{
        ADOConn.CreateInstance(__uuidof(Connection));

        ADOConn->Open("DSN=Material_MIS;Provider=MSDASQL","DBAdmin","VIVIANKE",adConnectUnspecified);    //使用连接字符串,连接数据库    
    }
    catch (_com_error e) {
        CString strErr;
        strErr.Format("%s",(char*)e.Description());
        AfxMessageBox(strErr);
    }
    catch (...) {
        AfxMessageBox("Unknown Error...!");
    }

    m_pADOSet.CreateInstance(__uuidof(Recordset));

    //弹出登录窗口
    CLoginDlg dlg;
    if (dlg.DoModal()!=IDOK) return false;
    m_strCurUser=dlg.m_strName;
    
    CSingleDocTemplate* pDocTemplate;
    pDocTemplate = new CSingleDocTemplate(
        IDR_MAINFRAME,
        RUNTIME_CLASS(CMaterial_MISDoc),
        RUNTIME_CLASS(CMainFrame),       // main SDI frame window
        RUNTIME_CLASS(CMaterial_MISView));
    AddDocTemplate(pDocTemplate);

    // Parse command line for standard shell commands, DDE, file open
    CCommandLineInfo cmdInfo;
    ParseCommandLine(cmdInfo);

    // Dispatch commands specified on the command line
    if (!ProcessShellCommand(cmdInfo))
        return FALSE;

    // The one and only window has been initialized, so show and update it.
    m_pMainWnd->ShowWindow(SW_MAXIMIZE);
    m_pMainWnd->UpdateWindow();
    m_pMainWnd->SetWindowText("物资管理系统");

    return TRUE;
}

第二种:不使用数据源

BOOL CMyApp::InitInstance()
{
    // Initialize OLE libraries
    if (!AfxOleInit())
    {
        AfxMessageBox(IDP_OLE_INIT_FAILED);
        return FALSE;
    }

    AfxEnableControlContainer();

    // Standard initialization
    // If you are not using these features and wish to reduce the size
    //  of your final executable, you should remove from the following
    //  the specific initialization routines you do not need.

#ifdef _AFXDLL
    Enable3dControls();            // Call this when using MFC in a shared DLL
#else
    Enable3dControlsStatic();    // Call this when linking to MFC statically
#endif

    // Parse the command line to see if launched as OLE server
    if (RunEmbedded() || RunAutomated())
    {
        // Register all OLE server (factories) as running.  This enables the
        //  OLE libraries to create objects from other applications.
        COleTemplateServer::RegisterAll();
    }
    else
    {
        // When a server application is launched stand-alone, it is a good idea
        //  to update the system registry in case it has been damaged.
        COleObjectFactory::UpdateRegistryAll();
    }
    
    //contact to database
    try
    {
        m_DBCnt.CreateInstance(__uuidof(Connection));
        m_DBCnt->ConnectionString=
            "driver={SQL Server};server=vivianke;"        //使用OLEDB链接SQL数据库
            "UID=DBAdmin;PWD=VIVIANKE;"
            "database=RMS";
        m_DBCnt->Open("","","",-1);
    }
    catch (_com_error e) {
        CString err;
        err.Format("%s",(char*)e.Description());
        AfxMessageBox(err);
    }
    m_pADOSet.CreateInstance(__uuidof(Recordset));

    CMyDlg dlg;
    m_pMainWnd = &dlg;
    int nResponse = dlg.DoModal();
    if (nResponse == IDOK)
    {
        // TODO: Place code here to handle when the dialog is
        //  dismissed with OK
    }
    else if (nResponse == IDCANCEL)
    {
        // TODO: Place code here to handle when the dialog is
        //  dismissed with Cancel
    }

    // Since the dialog has been closed, return FALSE so that we exit the
    //  application, rather than start the application's message pump.
    return FALSE;
}

Ado的连接字符串大全

  • 2008年09月19日 00:22
  • 272KB
  • 下载

[IOS]自己如何正确获取SQLite的ADO连接字符串

首先你正确安装了SQLite的数据库驱动程序(sqliteodbc.exe) 1.在桌面上新建一个空的文本文件SQLite.txt,重命名为SQLite.udl; 注1.1:SQLite.ud...

Dot Net ADO数据库连接字符串

  • 2010年08月03日 15:42
  • 283KB
  • 下载

ado连接字符串大全

  • 2007年10月23日 00:47
  • 31KB
  • 下载

自己如何正确获取MYSQL的ADO连接字符串

首先你正确安装了MYSQL的数据库驱动程序(mysql-connector-odbc-5.1.6-win32.msi ) 1.在桌面上新建一个空的文本文件mysql.txt,重命名为mysql.ud...

ADO.NET下的各种连接字符串

  • 2011年07月05日 23:01
  • 1010B
  • 下载

ADO.NET入门教程(三) 连接字符串,你小觑了吗?

出处:http://www.cnblogs.com/liuhaorain/archive/2012/02/12/2347914.html 摘要       ADO.NET强...
  • XHQT520
  • XHQT520
  • 2015年11月09日 11:04
  • 483

ADO.NET入门教程(三) 连接字符串,你小觑了吗?

1. 什么是连接字符串?       我们已经知道,ADO.NET类库为不同的外部数据源提供了一致的访问。这些数据源可以是本地的数据文件(如excel、txt、access,甚至是SQLite)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ADO连接字符串
举报原因:
原因补充:

(最多只允许输入30个字)