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


#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
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值