我需要使用 OleDb 从我的 VB.net 程序中创建一个保存的 MS Access 查询。但在我创建查询之前,我需要检查它是否已经存在于数据库中。如果它确实存在,我想更新它。如何使用 OleDb 检查 MS Access 中的现有查询?
问问题
643 次
1 回答
2
“如果它确实存在,我想更新它。”
根据评论讨论,我知道您将在 OleDB 连接上执行一条语句来创建查询。(在 Access 用语中,一个QueryDef
对象。)
当查询不存在时,执行成功,您就完成了。
如果查询确实存在,则执行尝试将引发错误,您将在VB.Net
代码中捕获该错误。此时,您要修改现有查询。不幸的是,我不知道用 OleDb 更改现有查询的任何方法。但是,您可以丢弃现有查询并重新执行您的语句以创建新版本。
您可以执行 Access DDL 语句以放弃现有查询。这两个版本之一将满足您的需求:
DROP VIEW YourQueryNameHere;
DROP PROCEDURE YourQueryNameHere;
第一个是普通SELECT
查询。第二个是 Access 所谓的“动作查询” INSERT
:UPDATE
; DELETE
. 我记得, “制作表”查询 ( SELECT <field list> INTO NewTable FROM ...
) 也属于第二个 (PROCEDURE) 类别(检查以确认您是否需要它)。我认为SELECT
查询PARAMETERS
也属于第二类(如果需要,请检查)。
请注意,这只是一个建议的方向。我不能给你VB.Net
代码。我希望您知道或能够弄清楚如何在VB.Net
.
于 2013-09-23T19:47:14.123 回答