【问题标题】:ADO.NET with VB.NET - SELECT INTO queryADO.NET 与 VB.NET - SELECT INTO 查询
【发布时间】:2013-12-20 16:03:50
【问题描述】:

我已经成功地使用 VB.NET 和 SELECT 语句与下面的一些示例代码建立了连接并从我的 MS Access 数据库中检索信息到我在 Visual Studio 中的 Windows 窗体。

    Dim dataset As New DataSet

    Dim datatable As New DataTable
    dataset.Tables.Add(datatable)

    Dim data_adaptor As OleDbDataAdapter
    data_adaptor = New OleDbDataAdapter("SELECT * FROM test1", odbconnect)

    data_adaptor.Fill(datatable)

但是,当我将 DataAdaptor 设置为如下查询时,我在执行 SELECT INTO 查询时遇到了一些问题。

    data_adaptor = New OleDbDataAdapter("SELECT first_name INTO newtable FROM test1", odbconnect)  

我没有收到任何错误,但表没有在我的访问数据库中创建。我知道我必须重新声明或声明一个新的数据适配器才能从新创建的“newtable”中实际获取信息,但如果我执行此操作,然后打开我的 Access 数据库,“newtable”不存在。但是,如果我在 Access 中运行此查询,它可以工作,但我会收到一个弹出框,确认我想将数据粘贴到新表中。我想这可能会以这种方式与 MS Access 一起工作。我必须使用其他设置或对象来执行 SELECT INTO 查询以创建新表吗?

【问题讨论】:

  • 为什么要复制表格?
  • 最终我将构建的工具将使用笛卡尔连接创建数据集,因此我需要从数据库中现有的各种表中提取数据并将所有组合合并到新表中以导出到另一个应用程序.
  • 好的,那我明白为什么了。好吧,试试史蒂夫的建议。祝你好运;)

标签: sql vb.net visual-studio-2012 ado.net


【解决方案1】:

不要为此使用OleDbDataAdapter。只需使用OleDbCommand 并调用ExecuteNonQuery

dbCmd = New OleDbCommand("SELECT first_name INTO newtable FROM test1", odbconnect)
cbCmd.ExecuteNonQuery()

【讨论】:

    猜你喜欢
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    相关资源
    最近更新 更多