MFC如何获得数据库中表的个数

我分没了。。不过真的急用。。请哪位高手一定帮帮我
2025-04-08 22:26:59
推荐回答(3个)
回答1:

你首先要创建一个连接数据库的对象,比如你用cdatabase连接数据库后,然后用crecordset对象去打开表,那你运行crecordset对象的open函数,其中select语句用下面的格式:
select count(sysobjects.name ) from sysobjects.xtype ='U';
在数据库的sysobjects表里有这个数据库全部表的信息, xtype值为'U'的就是表名;
然后调用movefirst;
然后调用crecordset的getfieldvalue函数既可以获取值;

回答2:

变量(应该是数据库的主键)来从数据库内取回一个值(假设也为),只需要这个功能

晕了!!
数据库有CSTRING类型的数据吗?没有!!CSTRING在VC中是个类。
你可以把CSTRING类的数据赋值给一个字符串变量。
关于如何读写你可以参考下面的代码

CString strName,strAge;
strName=strAge="";
VARIANT *var;
COleVariant cov;

m_listCtl.ResetContent(); //这是一个list控件
CDaoDatabase m_mydb; //定义数据库变量
m_mydb.Open("mydb.mdb"); //打开数据库
CDaoTableDef m_mytable(&m_mydb); //通过数据库定义table变量
m_mytable.Open("雇员"); //打开这个 表
CDaoRecordset m_myset; //定义记录集对象
m_myset.Open(&m_mytable,dbOpenTable,0); //通过打开 表 来填充记录集
while(!m_myset.IsEOF())
{
m_myset.GetFieldValue("名字",cov); //得到 “名字", 字段的 值
var=(LPVARIANT)cov;
if(var->vt!=VT_NULL)
strName.Format("%s",var->pbVal);
m_myset.GetFieldValue("职务",cov);
var=(LPVARIANT)cov;
if(var->vt!=VT_NULL)
strAge.Format("%s",var->pbVal);
m_listCtl.AddString(strName+"----->"+strAge);
m_myset.MoveNext(); //下一条记录

}

回答3:

select count(*) from ×××