请教大家一个关于用vc的ODBC初级的问题这些天作一个作业,主要是用UML的,用vc来做,其中有对一个小Access
的访问和操作,关于odbc看了不少书,看得我一头雾水,知道了基本的概
念,可还不知道怎么上手,还有很多问题搞不明白。以前没用过数据库。
Access中有几个表,就得用CRecordset的几个派生类吗?每个类连着一个
表?
查询的时候,语句是自己写(比如用for语句等),还是调用SQL的语句?我原来想查询的结果可给一个变量来显示出来,可如果结果的个数不确定
,怎样在界面中显示出来呢?在用向导的时候,可以用对话框的形式吗?(为什么书上都是SDI)是不是可以把odbc的这些函数用来被别的功能来调用吗?我看了几个例子,只看懂了一点,心里还没有一个整个过程的了解,请教大家给我讲一下基本的关键流程,谢谢了!!

解决方案 »

  1.   

    可以用ODBC API函数直接操作,可执行存储过程和SQL语句。
    最好用ADO,一般都用它。
      

  2.   

    Access中有几个表,就得用CRecordset的几个派生类吗?每个类连着一个
    表?
    --------------------------------------------------------------------------
    最好是每个表对应一个CRecordset的派生类,这样操作起来比较方便,当然如果在多个表中查询的话,也可以多个表对应一个CRecordset的派生类查询的时候,语句是自己写(比如用for语句等),还是调用SQL的语句?
    -------------------------------------------------------------
    我一般是使用标准的SQL语句,不过有些SQL语句在VC中是不能执行的。我原来想查询的结果可给一个变量来显示出来,可如果结果的个数不确定
    ,怎样在界面中显示出来呢?
    --------------------------------------------------
    使用循环while(!pMyRecordSet->IsEof())
      

  3.   

    同意3楼的。
    查询语句:
    if(!m_set.IsOpen()
       m_set.Open()
    m_set.m_strFilter=...........
    m_set.Requery()
    while(!m_set.Eof())
    .....当然可以使用对话框向导了,只不过在使用的时候需要加上某个CRecordset派生类得说明
      

  4.   

    从来不用向导
    直接写不就行了
    没几个函数一般数据库的书都会有介绍ODBC
      

  5.   

    wflyfox(田飞) 
    我想问一下,我在对话框时,继承了一个CRecordset时,编译确说CRecordset没有定义,基类也用定义吗
    请教了,谢谢
      

  6.   

    我以前使用ODBC用以MYSQL和VC打交道,发现很费劲,一个表就的用一个CRecordset,当我想动态生成一个表,就很费劲。当查询的时候,想用CDatabase::ExecuteSQL来执行,但总是出错。我觉得一般情况:还是别用VC做数据库,用PB和VB吧,特别方便。
      

  7.   

    我们这几个人一起做的,已经用vc了
    虽然有很多问题,不过学了很多东西呀
    比我以前光看书和照上面的例子做成就感多多了
    虽然这几天有点上火!
    我才刚知道CRecordset的用#include <afxdb.h>来包含呀
    惭愧呀!
    谢谢这里的各位了,csdn真是太棒了!!