首页 | 文章中心 | 下载中心 | 本站特供 | 软硬件结合论坛 | 软硬件结合博客 | 
您现在的位置: 中国软硬件结合技术网 >> 文章中心 >> 软件技术 >> VB、JAVA等 >> 正文 用户登录 新用户注册
使用ADO访问数据库时怎样判断某一表名是否存在         ★★★ 【字体:
使用ADO访问数据库时怎样判断某一表名是否存在
作者:危敏    文章来源:问专家    点击数:    更新时间:2005-8-10

问:

操作系统:windows98
    编程工具:vb6.0
    问题:使用ADO访问数据库时怎样判断某一表名是否存在?用DAO时,可以用TABLEDEF ,但我不想因此而走回头路,请赐教。

答:

方法1:
    Dim adoConnectionX As New ADODB.Connection
    Dim adoSchemaRecordsetX As New ADODB.Recordset
    'Ms SQL 7:
    'adoConnectionX.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Data Source=yuer;DataBase=NorthwindCS"
    'Access 2000:
    adoConnectionX.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\DRptPlus\DRptPlus\Data\NWind2K.mdb;Persist Security Info=False"
    
    Dim TestTableName As String
    TestTableName = "产品"
    
    Set adoSchemaRecordsetX = adoConnectionX.OpenSchema(adSchemaTables, Array(Empty, Empty, TestTableName, "Table"))
    
    If Not adoSchemaRecordsetX.EOF Then
     MsgBox "[" & TestTableName & "]表已存在!"
    End If
    

    
    方法2(引用Microsoft ADO Extensions 2.1 for DDL and Security (ADOX)):
    (主持人注:需要升级至VB 6.0SP3)
    Dim adoConnectionX As New ADODB.Connection
    'Ms SQL 7:
    adoConnectionX.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Data Source=yuer;DataBase=NorthwindCS"
    'Access 2000:
    'adoConnectionX.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\DRptPlus\DRptPlus\Data\NWind2K.mdb;Persist Security Info=False"
    
    Dim adoxCatalogX As New ADOX.Catalog
    Set adoxCatalogX.ActiveConnection = adoConnectionX
    
    Dim TestTableName As String
    TestTableName = "产品"
    
    Dim adoxTableX As ADOX.Table
    For Each adoxTableX In adoxCatalogX.Tables
     If adoxTableX.Name = TestTableName Then
     MsgBox "[" & TestTableName & "]表已存在!"
     Exit For
     End If
    Next
    

    主持人注:方法2也可以这样:
    Private Sub Command1_Click()
    Dim cat As ADOX.Catalog
    Dim tbl As ADOX.Table
    
    Set cat = New ADOX.Catalog
    Set cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.3.51;" _
    & "Data Source=C:\Program Files\Microsoft Visual Studio\VB98\Biblio.mdb"
    On Error Resume Next
    Set tbl = cat.Tables("MyTable")
    
    If tbl Is Nothing Then
     MsgBox "MyTable doesn't exist"
    Else
     MsgBox "MyTable exists"
     Set tbl = Nothing
    End If
    
    Set cat = Nothing
    Set con = Nothing
    End Sub

其它方法:

select * from sysobjects where name='TblName'
    if rst.recordcount=0 then
     不存在此表
    else
     存在
    end if

文章录入:awar    责任编辑:awar 
  • 上一篇文章: 如何把图片放入SQL Server表中Image类型列中

  • 下一篇文章: VB实现文件数据对SQL Server上传下载
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
          最新热点       最新推荐       相关文章
  • 无组件上传图片到数据库中,最…

  • VC的另类数据库编程

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)