检查MS Access中的现有已保存查询

时间:2013-09-23 15:43:35

标签: vb.net ms-access oledb

我需要使用OleDb从我的VB.net程序中创建一个保存的MS Access查询。但在创建查询之前,我需要检查并查看它是否已存在于数据库中。如果确实存在,我想更新它。如何使用OleDb在MS Access中检查现有查询?

1 个答案:

答案 0 :(得分:2)

“如果确实存在,我想更新它。”

根据评论讨论,我了解您将在OleDB连接上执行语句以创建查询。 (在Access用语中,QueryDef对象。)

当查询尚不存在时,执行成功,您就完成了。

如果查询确实存在,执行尝试将抛出一个错误,您将陷入VB.Net代码中。此时,您要修改现有查询。不幸的是,我不知道用OleDb改变现有查询的任何方法。但是,您可以放弃现有查询并重新执行语句以创建新版本。

您可以执行Access DDL语句以放弃现有查询。这两个版本中的一个将满足您的需求:

  1. DROP VIEW YourQueryNameHere;
  2. DROP PROCEDURE YourQueryNameHere;
  3. 第一个是普通的SELECT查询。第二个是Access所谓的“动作查询”:INSERT; UPDATE; DELETE。 “make table”查询(SELECT <field list> INTO NewTable FROM ...)也属于我记忆中的第二个(PROCEDURE)类别(检查以确认是否需要它)。我认为SELECT PARAMETERS查询也属于第二类(如果需要,请检查)。

    请注意,这只是建议的方向。我无法向您提供VB.Net代码。我希望您知道或者可以在VB.Net中找出如何执行所需的错误处理。