小弟分少
vc下操作sql server2000数据库,如何查询一个数据表是否存在这个sql语句如何写?
请问怎么实现。我现在只会连接数据库,建立数据表。下面是简单建立数据库代码。 char sqlcommand[100];
//先连接SQL SERVER系统自带的master数据库
sprintf(sqlcommand, "Driver=SQL Server;Database=master;Server=%s;UID=%s;PWD=%s" ,pServer , pUser, pPasswd);
conn->Open((_bstr_t)sqlcommand,"","",adModeUnknown);
_variant_t RecordsAffected;
memset(sqlcommand,0,100);
sprintf(sqlcommand,"Create database %s",pDataBaseName);
conn->Execute((_bstr_t)sqlcommand,&RecordsAffected,adCmdText);
conn->Close();

解决方案 »

  1.   

    if exists(select 1 from sysobjects where xtype='u' and name='表名
    ')
    select '存在'
    else
    select '不存在'
      

  2.   

    大概就这样~~!
    try
    {
       cstring str=L"select * from tab1";
       Execute……
       exitConnect……
       MessageBox(L"表存在")
    }
    catch(_com_error e)
    {
       MessageBox(L"表不存在");
    }
      

  3.   

    在master数据为中的sysobjects表里查询存不存在即可。
      

  4.   


    select * from dbo.sysobjects where id = object_id(N'[dbo].[tableName]') and OBJECTPROPERTY(id, N'IsUserTable') = 1
      

  5.   

    SQL Server 每个数据库中,都有一个表【sysobjects】,你建立的每一张表都在它中占一行;这个你看看看看 SQL Server 的联机帮助,里边有详细的介绍。
      

  6.   

    select * from dbo.sysobjects where id = object_id(N'[dbo].[tableName]') and OBJECTPROPERTY(id, N'IsUserTable') = 1
      

  7.   

    呵呵,用Ado的话就不要想了。只能执行无返回结果的操作啦,有返回结果的操作呀,你自己看着办吧,鬼知道怎么弄出来。如果想深入操作SQL Server的话,那就只能研究研究那个sqldmo.dll文件了--只可惜资料太少了......
    比起VC,访问数据库的话用VB\Delphi要强悍多了,人家一两行代码的功能,俺们要几十行才能做到。想好好研究下.tli/tlh文件的,可惜MS的注解资料太少了,而且很多这方面的注解前面都有署名:后续版本将删除该项功能,不知道MS是怎么想的?只好一声叹息了