C#下载了一个小access程式,打是时提示未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#下载了一个小access程式,打是时提示未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"相关的知识,希望对你有一定的参考价值。

我装了officc2003,还要装什么?

微软从xp开始已经已经在系统中集成了jet 引擎,不用安装office的。

一种可能是使用了64位的操作系统。而程序被编译为自适应操作系统的,在64位下以64位方式运行,而不幸的是jet 引擎没有64位版本的,所以就不能运行了。如果是这个问题的话,要不改操作系统为32位工或是放在其它32位机器上运行,或是改程序为x86模式运行。

第二种可能是jet 引擎有问题,需要重注册一下就好了。
参考技术A 如果你是win7 把连接字符串改成12.0.。。
不知道你的office是不是完整版 如果不是的话还要单独下一个oledb4.0引擎补丁。
参考技术B 系统升级成WIN 2008 R2 x64的*作系统;
今天调试ACCESS程序,提示如下错误:
未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。
解决方法如下:
用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider for Jet 在 64 位版本中不可用。
必须在IIS中启用32位应该程序才可以正常使用;

查询未在MS-Access中使用日期条件

我有一个表单,它提供查询参数的输入。

这是我的问题:enter image description here

在我的表格Lead_whiteboard_nav上,我有两个文本框。一个'StartDate'和另一个'EndDate',用户可以推送多个按钮来生成有关不同机器的数据,机器字段中的条件(每个按钮运行来自不同查询的报告)。我假设查询正在使用这些日期字段,因为每当我使用查询生成报告时,我都不会提示输入值,因此它们似乎从表单中提取。

我的问题是,使用此查询的报告将使用“机器”字段的标准 - 正在拉动正确的机器编号 - 但是,似乎没有应用表单中的日期。对于给定的机器标准,我返回表中的所有值。

有什么建议?

答案

您不应该将查询构建器用于基本查询以外的任何内容,即imo。

问题是你有多个OR条件,但是你为它们中的第一个指定了这个Between条件。

Machine字段的条件更改为以下内容:IN(304, 305, 306)以获得更有效的查询并避免此错误。

如果你看一下SQL,这一切都会非常明显。

以上是关于C#下载了一个小access程式,打是时提示未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"的主要内容,如果未能解决你的问题,请参考以下文章

ACCESS打得开mdb,但打不开表,弹框提示未知错误。

System.InvalidOperationException: 未在本地计算机上注册"Microsoft.ACE.OLEDB.

关于C#联接数据库是出现'未在本地计算机上注册'错误的解决办法

查询未在MS-Access中使用日期条件

C# ACCESS 查询提示“至少一个参数没有被指定”问题

引导滑块未在 iphone 6、移动设备上显示工具提示