【问题标题】:Creating stored queries programmatically with vb.net, odbc and access使用 vb.net、odbc 和 access 以编程方式创建存储查询
【发布时间】:2011-01-08 11:18:20
【问题描述】:

我用 vb.net 开发了一个基于 ms-access 的小型软件。

我在软件中添加了自动更新功能(主要是使用 clickonce)来简化新功能的发布。

每个版本的软件都会执行更新程序,这也可能更新现有的数据库。 最近我对数据库结构做了一些更改,添加了一些存储查询,所以我希望自动更新代码以编程方式将这些新查询添加到现有数据库并使其完美更新。

我还没有找到使用 odbc 将存储的查询添加到 ms-access 数据库的解决方案... 我还尝试使用“CREATE PROC”sql 语句,但它似乎不适用于访问数据库,即使我从 Microsoft Office Access 前端创建查询。 我发现了一些使用 ADODB 的示例,但我使用 odbc 来保持 x86 和 x64 兼容。

PS:对不起我的英语不好...我希望我已经足够清楚了

【问题讨论】:

  • 我不知道为什么我得到了 -1 -.-
  • 我的建议是使用 SQL Server Express。它是免费的,不需要人们拥有 Office 许可证,可以轻松完成您想做的事情,并且显然比 Access 更强大。
  • 感谢@IanC,非常感谢您的建议,但我开发的软件不是常规的数据库驱动软件。通常我的客户需要将整个软件从一台计算机移动到另一台计算机,显然他不能丢失他的数据。所以我认为满足他需求的最好方法是使用可以轻松存储在移动设备上的基于文件的数据库。我还坚持使用外部在线数据库,但我的客户端并不总是连接到互联网。所以我除了基于文件的数据库别无选择......
  • 不客气。在那种情况下,你为什么不看看 SQL Lite 呢?它专为移动设备而设计,但可以很好地适应更大的负载。而且它是免费的,甚至还有源代码。也许它可以更好地满足您的需求。
  • 在我看来,云解决方案也适合。许多开发人员所做的是在客户端使用 SQL Lite,并在服务器上使用更大的 RDBMS。例如,Adobe AIR 原生支持 SQL Lite,因此您可以在本地存储时态数据,并将所需的内容存储在服务器(也称为云)上。

标签: sql vb.net ms-access


【解决方案1】:

Jet/ACE 中的存储查询有两种类型,SELECT 查询和 Access 称为“操作”的查询。 SELECT 查询对应于 VIEWS,动作查询对应于 SPROC。因此,如果它是 DML 语句,则将其创建为 SPROC,而如果是 SELECT,则将其创建为 VIEW。

我不确定的一件事是参数如何与之交互。除了 Access,我不使用 Jet/ACE,所以这不是我做过的事情,所以真的没有答案。

【讨论】:

    【解决方案2】:

    如果您可以设置对 DAO 的引用(它实际上比 ADO 更“接近于 Jet/ACE 的金属”),请检查 CreateQueryDef 方法和 QueryDefs 集合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-03
      • 2018-02-09
      • 2014-06-29
      • 1970-01-01
      • 2015-05-11
      • 1970-01-01
      相关资源
      最近更新 更多