本帖最后由 hyzsg 于 2009-11-20 18:45:31 编辑

解决方案 »

  1.   

    那我把图里的内容写出来:Debug Asserion Failed!Program:D:\Project\VC\TOdbc\Debug\TOdbc.exe
    File:dbcore.cpp
    Line:2979For information on how your program can cause an assertion
    failure,see the Visual C++ documentation on asserts.(Press Tetry to debug the application) 终止        重试       忽略
      

  2.   

    _ConnectionPtr pconn;
    pconn.CreateInstance("ADODB.Connection");
    _bstr_t connectionstring="Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=school;Data Source=MICROSOF-C59AA9";
    pconn->Open(connectionstring,"sa","123456",adModeUnknown);
    这里是我的连接字符串
    我装的也是SQL Server2005,郁闷了一个多星期,终于可以连接上,并且操作了,感觉很舒服,完全可以像在SQL Server中那样,直接通过ADO操作数据库!
      

  3.   

    是个断言
    我找dbcore.cpp看了下,是// Bind fields (if not already bound), then retrieve 1st record
    void CRecordset::InitRecord()
    {
    // fields to bind
    if (m_nFields != 0)
    {
    m_nFieldsBound = BindFieldsToColumns();
    // m_nFields doesn't reflect number of
    // RFX_ output column calls in Do[Bulk]FieldExchange
    ASSERT((int)m_nFields == m_nFieldsBound);
    初始化CRecordset时的一个错误...
    我也不太清楚..
      

  4.   


    我是新建的一个工程呀,还没有写出任何代码,都是系统生成,理论上应该可以运行的。
    还有我连接数据库是按书上做了,没有用到连接字串。书上是先在控制面板->管理工具->数据源 (ODBC)->添加,先添加一个数据库和驱动。然后在VC工程向导里建的是“查看数据库不使用文件支持”,然后又选了数据源,是在SQL2005建好的表。
    工程建好了,编译->运行,就提示上面的错误,郁闷呀,在机房上机时用SQL2000都没有出错,回寝室里自己用SQL2005就这样子了。
      

  5.   


    请教呀,这段连接里要用用户名,和密码,我都没有设置,写哪一个?我想连到master下的自己建的一个表Stu,还有那个“sa”用户是干什么用的,我也没有设置密码,怎么写?
      

  6.   

    建的是MFC(exe)工程,这连接字串放在那个文件里,好像MFC生成的工程没办法找到WinMain()函数。