大家好:
能否告诉我判断一个表是否存在?最好能举个例子!!
能否告诉我判断一个表是否存在?最好能举个例子!!
解决方案 »
- vb 怎么删除信息
- 送分100:函数SPLIT和INSTR、UCase的用法
- image控件的位置发上偏移是怎么回事?
- 急,在线等,程序遇到防火墙无法传送的问题
- 求助:如何侦测系统的鼠标键盘命令
- 如何可以让用户自定义控件的大小
- ****************传参数的问题,高手指点一下,先谢了**********************
- List1.ListItems(k).ListSubItems(5).Text = "已出货" 为什么会出错?
- 有谁用三星手机开发过SMS发送程序
- 如可用VB编写HTML TO TXT ?????
- 请问这个sql语句怎么写?
- 请教:英文环境下的NCHAR数据类型和中文环境下的有区别吗(SQL数据库)?
方法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 * form tablename然后捕捉错误
方法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 * form tablename然后捕捉错误
select name from sysobjects where xtype='u' and name='你的表明'