我需要使用OleDb从我的VB.net程序中创建一个保存的MS Access查询。但在创建查询之前,我需要检查并查看它是否已存在于数据库中。如果确实存在,我想更新它。如何使用OleDb在MS Access中检查现有查询?
答案 0 :(得分:2)
“如果确实存在,我想更新它。”
根据评论讨论,我了解您将在OleDB连接上执行语句以创建查询。 (在Access用语中,QueryDef
对象。)
当查询尚不存在时,执行成功,您就完成了。
如果查询确实存在,执行尝试将抛出一个错误,您将陷入VB.Net
代码中。此时,您要修改现有查询。不幸的是,我不知道用OleDb改变现有查询的任何方法。但是,您可以放弃现有查询并重新执行语句以创建新版本。
您可以执行Access DDL语句以放弃现有查询。这两个版本中的一个将满足您的需求:
DROP VIEW YourQueryNameHere;
DROP PROCEDURE YourQueryNameHere;
第一个是普通的SELECT
查询。第二个是Access所谓的“动作查询”:INSERT
; UPDATE
; DELETE
。 “make table”查询(SELECT <field list> INTO NewTable FROM ...
)也属于我记忆中的第二个(PROCEDURE)类别(检查以确认是否需要它)。我认为SELECT
PARAMETERS
查询也属于第二类(如果需要,请检查)。
请注意,这只是建议的方向。我无法向您提供VB.Net
代码。我希望您知道或者可以在VB.Net
中找出如何执行所需的错误处理。