问题是这样
我在我的程序里定义一个记录集
dbset m_set;
因为,数据库的表字段(列)很多,我只要其中几个就行了
我在打开时用下面语句
m_set.Open(CRecordset::dynaset,_T("select sqdwmc,zbdwdm,sqdw from Students_Test"));
// 我想从表Students_Test中打开sqdwmc,zbdwdm,sqdw这几列就可以可是程序运行到上面这句,都会跳出对话框说“检索记录出错”;我是新手,有很多数据库问题还不清楚,望各位高手指教。谢谢
解决给分!

解决方案 »

  1.   

    我如果把上面一句改为
    m_set.Open(CRecordset::dynaset,_T("select * from Students_Test"));
    就可以正常打开
    可是现在我只要打开那几列,怎么办??
      

  2.   

    dbset m_set;
    你的结果集类没有定义与表相对应的列。
    你生成这个类的时候没有定义。
      

  3.   

    楼上说的是什么意思
    我是用mfc自动生成的
    在类dbset中,编译器自动对应了啊
    或者你能说详细一点吗?谢谢
      

  4.   

    我把那个式子改了
    m_set.Open(CRecordset::dynaset,_T("select 2,4,6 from Students_Test"));
    2,4,6表示第几列
    编译也没问题,返回值是正确的
    就是把列名用数字代替了
    哪位高手看看,这样应该没错吧
      

  5.   

    你是用MFC自动生成的,是不是MFC生成时字段是用m_column1   m_column1,而你没有改成sqdwmc,zbdwdm,sqdw .
    我也是菜鸟
      

  6.   

    dbset m_set;
    在记录集自定义与表相对应的列。
    然后再对应sqdwmc,zbdwdm,sqdw 
      

  7.   

    SQL: slecte sqdwmc,zbdwdm,sqdw from Students_Test order by sqdwmc