高分!!求怎样取得表的属性个数和名称 求怎样取得表的属性个数和名称 ,最好是关于Recordset方面的解决方法~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 什么数据库啊?如果是 SQL SERVER ,这些都会放在系统表中,你看看书就知道了。比如:sysobjects syscolumns 是想通过编程的方法得到,不能是手动查.最好是用SQL语句,或这ADO方式得到! 谢谢zaodt,关于SQL SERVER你说的是对的.谢谢你提供思路!还请问oracle怎么得到呢? 你好!Oracle 我没用过,不过我想可能也差不多一样。另外,SQL SERVER 的做法好像也是跟 Sybase SQL SERVER 数据库学的。 呵呵..我昨天刚好写了这个函数CString CEncapsulateADO::GetTableName(CString &UserName, _ConnectionPtr &m_pConnection){ try { /*//获取该用户下的所有表名 ADOX::_CatalogPtr m_pCatalog=NULL; //定义目录智能指针 ADOX::_TablePtr m_pTable=NULL; //定义表格智能指针 m_pCatalog.CreateInstance(__uuidof(ADOX::Catalog)); m_pTable.CreateInstance(__uuidof(ADOX::Table));*/ //获取该用户下的所有表名 UserName.MakeUpper(); //如何在SQL语句中加入单引号*********************** CString Str="select * from user_tables where user ='" + UserName+"'"; //给_variant_t vNULL赋空值 _variant_t vNULL; vNULL.vt=VT_ERROR; vNULL.scode=DISP_E_PARAMNOTFOUND; //执行对应SQL语句 p_Rst=GLobalVariable.m_pConnection->Execute((_bstr_t)Str,&vNULL,adCmdText); //获取用户DEVICE下的表名 FieldPtr Field=p_Rst->GetFields()->GetItem("TABLE_NAME"); CString TableName=(char*)(_bstr_t)Field->Value; return TableName; } catch (_com_error e) { AfxMessageBox(e.ErrorMessage()); } } 如果是oracle,也有专门存放表字段的地方……取得指定tablename的所有字段名和类型用recordset执行如下sql取得结果~SELECT table_name,column_name,data_type FROM user_tab_columns WHERE table_name=upper('tablename') 要先确保你的登录账号有select那个user_tab_columns 表的权限 在线等! IOCP收包问题:最后一个包收不到 急..麻烦大家来看看这个问题 按钮:按下时执行一个代码,释放时处理另外一个代码 VC 7.0的问题 CSocket在线程中可以被关闭吗? 新手问一个关于CRecordSet AddNew的问题 简单错误?非常感谢!!! CRecordset::SetFieldType(..) 嗨!大家好呀,菜菜鸟回来了,请教一个大Q的问题:当我的头文件很多时,我需要把她们放在同一个目录A下,不知道在哪里设置,可以让系统知 如何把对话框1覆盖在主框的某个位置??? 对着一个空的数据库,怎么操作?
{
try
{
/*//获取该用户下的所有表名
ADOX::_CatalogPtr m_pCatalog=NULL; //定义目录智能指针
ADOX::_TablePtr m_pTable=NULL; //定义表格智能指针 m_pCatalog.CreateInstance(__uuidof(ADOX::Catalog));
m_pTable.CreateInstance(__uuidof(ADOX::Table));*/ //获取该用户下的所有表名
UserName.MakeUpper();
//如何在SQL语句中加入单引号***********************
CString Str="select * from user_tables where user ='" + UserName+"'";
//给_variant_t vNULL赋空值
_variant_t vNULL;
vNULL.vt=VT_ERROR;
vNULL.scode=DISP_E_PARAMNOTFOUND;
//执行对应SQL语句
p_Rst=GLobalVariable.m_pConnection->Execute((_bstr_t)Str,&vNULL,adCmdText);
//获取用户DEVICE下的表名
FieldPtr Field=p_Rst->GetFields()->GetItem("TABLE_NAME");
CString TableName=(char*)(_bstr_t)Field->Value; return TableName;
}
catch (_com_error e)
{
AfxMessageBox(e.ErrorMessage());
}
}
取得指定tablename的所有字段名和类型
用recordset执行如下sql取得结果~
SELECT table_name,column_name,data_type FROM user_tab_columns WHERE table_name=upper('tablename')