| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4759 人关注过本帖
标题:用vb.net删除Access中的一个表的方法
只看楼主 加入收藏
yu_mzh
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-4-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
用vb.net删除Access中的一个表的方法
我想在Access中查找一个表“测试表”,如果该表存在,就将该表删除掉。该如何用vb2013写?谢谢了
搜索更多相关主题的帖子: 测试表 如何 
2016-05-14 21:26
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:14 
使用SQL命令删除表
DROP TABLE table_name

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2016-05-15 09:07
yu_mzh
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-4-16
收藏
得分:0 
Imports
Imports ADOX
Imports System.Data.SqlClient
Module Module1
   
    Public Sub AddNewAccess()
        Dim cat As Catalog = New Catalog()
        Dim apppath As String = Application.StartupPath
        apppath = apppath & "\源文件\"
        Dim cn As ADODB.Connection = New ADODB.Connection  '定义连接
        Dim objTable As ADOX.Table = New ADOX.Table         '定义新表
           cn.Open("Provider=Microsoft.ace.OLEDB.12.0;Data Source=" & "源文件\" & "NewMDB.accdb") '链接到数据库
        Dim rs As New ADODB.Recordset
        rs = cn.Execute("测试项目表")
        If Err.Number = 0 Then
            If MsgBox("此表已经存在,是否删除?", vbYesNo , "提示") = vbYes Then
                 cn.Execute("DROP TABLE 测试项目表")   '---------此处不行
            Else

            End If
            cat = Nothing
            cn.Close()
            cn = Nothing
        End If
      
    End Sub
End Module

这样写对吗??我在运行时不能删除掉那个表。
2016-05-17 13:58
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
不知楼主从哪找来的例子。代码显示编程思路很乱。
代码表明楼主要操作的数据源是ACCESS数据库,而非SQLSERVER数据库,不需引用 System.Data.SqlClient命名空间,而应当引用 System.Data.OleDB命名空间和ADODB命名空间。
删除一个表前,先要关闭它,然后再删除。

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2016-05-17 14:54
yu_mzh
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-4-16
收藏
得分:0 
我是刚学的,好多都还不会。我试试。
2016-05-17 15:33
yu_mzh
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-4-16
收藏
得分:0 
如何应用不同的引用,不知道在哪里能学到。
2016-05-17 15:34
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
.NET中已经抛弃ADODB类了,请使用oledb\sqlclient类了

另外,删除ACCESS中的表,相对于删除SQLSERVER中的表来讲,要稍感觉费事一些。具体你可以百度一下。

如果你一定要用ACCESS数据库,这里写个例子,你参考下:
记得要引用Imports System.Data.OleDb

程序代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim cn As New OleDbConnection
        cn.ConnectionString = "Provider=Microsoft.ace.oledb.12.0;Data Source=你的数据库路径+文件名"
        Try
            '如果不出错,就删除表
            cn.Open()
            Dim cmd As OleDbCommand
            cmd = New OleDbCommand("测试项目表", cn)

             = CommandType.TableDirect
            Dim myread As OleDbDataReader = cmd.ExecuteReader()
            MsgBox("数据库中已经有这个表,即将删除。")
            cmd.Dispose() '释放相关资源
            myread.Close() '一定要关闭已打开的对象
             = CommandType.Text
            cmd = New OleDbCommand("Drop TABLE 测试项目表", cn)
            myread = cmd.ExecuteReader()
        Catch ex As Exception
            '如果出错,说明没有这个表
            MsgBox(Err.Number & Err.Description)'这里弹出对话框告诉你什么原因出错
            MsgBox("数据库中可能没有这个表")
            '这里可以创建表
        End Try
        If cn.State = ConnectionState.Open Then cn.Close()
End Sub


===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2016-05-18 13:50
yu_mzh
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-4-16
收藏
得分:0 
回复 7楼 不说也罢
谢谢了
2016-05-19 14:38
快速回复:用vb.net删除Access中的一个表的方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013843 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved