vc/mfc建立的单文档项目,开发数据库系统(Sql Server2000)。使用ODBC连接数据库,我连接数据库的语句比较简单:
    try
    {
       CDatabase db;
       if (db.Open("HHWL"))//HHWL为数据元名称
       {
          ……
       }
    }
    catch (……)
    {
      ……
    }所有连接数据元的地方,我都是这样写的。小弟的问题是,这样写是不是太简单了,会不会不稳定?怎么写比较好啊?第一次用ODBC,请高手指点……学习,关注……

解决方案 »

  1.   

    FT,简单还不好啊
    简单不一定不稳定。try catch都加上了,好好的。
      

  2.   

    你也可以试一试用ADO连接数据库呀!
      

  3.   

    TO: xindao_wang(小日本都是猪):
    "连接的时候最好把用户ID和密码加进去吧。"就是不知道怎么加,才写的这么简单的啊!怎么加?我在书上看到怎么一个说法:
        连接数据库的时候,不要把“用户ID和密码”加进去,特别是脚本语言中。原因是这样数据库容易被攻击。各位大侠觉的这种说法怎么样啊?对不对啊?
      

  4.   

    1.stdafx.h中加入
    #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") 
    2。app文件的InitInstance中加入
    if(S_OK!=OleInitialize(NULL))
    {
    AfxMessageBox("初始化COM组件库错误");
    }
    下面就是数据库操作
    _ConnectionPtr pConn;
    _RecordsetPtr  pRs;
    CString strSQL;
    pConn.CreateInstance(__uuidof(Connection));
    pConn->CursorLocation=adUseClient;
    strSQL="Provider=SQLOLEDB;Server=Gooyan;DataBase=SkillsBox;UID=sa;PWD=aaaaaaaa";
    pConn->Open(_bstr_t(strSQL),"","",-1);pRs.CreateInstance(__uuidof(Recordset));
    pRs->CursorLocation=adUseClient;
    pRs->PutActiveConnection(pConn.GetInterfacePtr());pRs1.CreateInstance(__uuidof(Recordset));
    pRs1->CursorLocation=adUseClient;
    pRs1->PutActiveConnection(pConn.GetInterfacePtr());strSQL="select * from catalog order by cataid";
    pRs->Open(_bstr_t(strSQL),vtMissing,adOpenDynamic,adLockBatchOptimistic,adCmdText);
      

  5.   

    楼上的,你的是ADO的用法吧现在在研究ODBC啊!搞什么啊?
      

  6.   

    upupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupupup
      

  7.   

    g_JRDatabase.SetLoginTimeout(60);
    strODBC.Format("DSN=%s;UID=%s;PWD=%s", "jr", "sa", "");
    try
    {
    if(!g_JRDatabase.OpenEx(strODBC, CDatabase::noOdbcDialog))
    {
    AfxMessageBox("初始化数据库失败,请与管理员联系");
    return FALSE;
    }
    }
    catch(CDBException *e)
    {
    TRACE(e->m_strError.GetBuffer(0));
    AfxMessageBox("初始化数据库失败,请与管理员联系");
    return FALSE;
    }
      

  8.   

    ODBC简单点
    ADO比ODBC稍微繁,但效率高,但分发软件时要注意客户的环境要一致。