一小段利用adox获取表结构主键字段的代码

编程积累 专栏收录该内容
6 篇文章 0 订阅


#import "c:/Program Files/Common Files/system/ado/msadox.dll"    no_namespace
#import "c:/Program Files/Common Files/system/ado/msado15.dll"
#include <stdio.h>

int main()
{
 if(FAILED(::CoInitialize(NULL)))
  return 1;
    _CatalogPtr pCatalog   = NULL;

    _bstr_t strcnn("Provider=SQLOLEDB.1;Password=xxxx;Persist Security Info=True;"
  "User ID=sa;Initial Catalog=pubs;Data Source=server");

 pCatalog.CreateInstance(__uuidof (Catalog));
 pCatalog->PutActiveConnection(strcnn);

 _variant_t varIndex((long)-1);
 _KeyPtr pKey = NULL;
 KeyTypeEnum enumKey ;
 try
 {
  while (1)//i don't how to decide the key's cnt,so just make a throw error
  {
   ++varIndex.llVal;
   pKey = pCatalog->Tables->GetItem("titleauthor")->Keys->GetItem(varIndex);
   static const char *KEYDESC [] = {"adKeyPrimary ","adKeyForeign ","adKeyUnique "};
   enumKey = pKey->GetType ();
   printf("%s/t%d/t%s/r/n",(char*)pKey->GetName (),enumKey,KEYDESC[enumKey-1]);
  }

 }
 catch(...)
 {
 }
 ::CoUninitialize();
 return 0;
}

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值