永发信息网

请用MFC写一个判断表是否存在或为空的函数?

答案:2  悬赏:10  手机版
解决时间 2021-03-31 17:25
函数定义为int getTableId(_ConnectionPtr &conn,CString table),若数据库中不存在该表则返回 -1,若该表中无记录则返回0。此函数可以使用请使用_ConnectionPtr类和_RecordsetPtr类,是针对通用数据库,包括SQL Server、Qracle和mysql。
最佳答案
用_ConnectionPtr的Execute方法。如果表不存在,会抛出_com_error异常,如果表存在无记录,则_RecordsetPtr不存在记录。
//_RecordsetPtr m_pRecordset;
int getTableId(_ConnectionPtr &conn,CString table) {
CString strQuery;
strQuery.Format(_T("select 1 from %s"), table);
try {
m_pRecordset = conn->Execute((_bstr_t)strQuery, NULL, adCmdText);
}
catch(_com_error e) {
return -1;//表不存在
}
if (m_pRecordset->adoBOF) {
m_pRecordset->Close();
return 0;//无记录
} else {
m_pRecordset->Close();
return 1;//有记录
}
}
这个函数有些不严谨,不过较直观,基本能满足函数功能要求。
全部回答
应该不是吧。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
人纯粹属生理现象是依人论的观点吗
怎样才能做个有本事有出息的人?要具备什么?
出自黄帝的姓有哪些?不只是那25个儿子12个姓
资金净流入是怎么回事,总感觉股票有人卖对应
江苏润和软件股份有限公司的联系方式
腹部超生是检查什么
中国各个省的气候类型特点?
居住什么意思
非全日制研究生没过线,是二战还是调剂
干蚕豆加红糖煲汤喝了有什么好处
脑力测试:为什么他们还活着
西风瑟,吹遍一地春花落,春花落,芳华不再,
汉代为何尚火德
养狗可以抵命是什么意思
吃鸡可以全开,求流畅设置画面更容易看见人
推荐资讯
我加了一些QQ群,想在QQ群里找买蓝牙模块客户
吃了枇杷和热面食后该怎样处理?
美科斯叉车质量怎么样
省高级法院印发的《民事审判疑难问题讨论纪要
黑小虎的经典语录
有什么游戏在QQ上坑人
移印机开机后为什么老是要穿梭
shakespear说的最著名的话
三十如狼四十如虎这句话本意是什么意思
匈奴单于的名单
第五人格杰克天赋怎么加点 杰克天赋加点推荐
阿隆索为什么退出f1
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?