Microsoft Access错误找不到.mdb,但数据库为.accdb

山药

我正在做一个示例程序,用于访问Microsoft Access数据库。这是一个.accdb文件。数据库的名称为ACRONYM_DB.accdb,并且具有一个称为ACRONYM的数据表。我的代码如下:

string currentLoc = System.AppDomain.CurrentDomain.BaseDirectory.ToString();

ObservableCollection<Acronym.Acronym> acrOC = new ObservableCollection<Acronym.Acronym>();
string ConnStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + currentLoc + "\\Assets\\ACRONYM_DB.accdb;Jet OLEDB:Database Password=password";

OleDbConnection MyConn = new OleDbConnection(ConnStr);
MyConn.Open();
OleDbCommand myCommand = MyConn.CreateCommand();
myCommand.CommandText = "SELECT * FROM ACRONYM_DB.ACRONYM WHERE ACRONYM_NAME=" + acrName;
OleDbDataReader myReader = myCommand.ExecuteReader();

在执行阅读器行中,我得到了错误:

System.Data.OleDb.OleDbException was unhandled by user code
  HResult=-2147467259
  Message=Could not find file 'C:\Users\Mark\Desktop\release\ACRONYM_DB.mdb'.
  Source=Microsoft Office Access Database Engine
  ErrorCode=-2147467259
  StackTrace:
       at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
       at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
       at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
       at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
       at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
       at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
       at System.Data.OleDb.OleDbCommand.ExecuteReader()
       at AcronymFinder.Model.Database.AcronymDatabase.HistoricalDef(String acrName) in c:\Users\Mark\Documents\Visual Studio 2013\Projects\AcronymFinder\AcronymFinder\Model\Database\AcronymDatabase.cs:line 28
       at AcronymFinder.ViewModel.MainViewModel.set_SelectedAcronym(Acronym value) in c:\Users\Mark\Documents\Visual Studio 2013\Projects\AcronymFinder\AcronymFinder\ViewModel\MainViewModel.cs:line 315
  InnerException: 

我知道错误与我正在使用的查询有关,但是我需要做些什么呢?另外,我正在使用Access 2013的64位版本。

汉素

SELECT语句中不要包括数据库名称

myCommand.CommandText = "SELECT * FROM ACRONYM WHERE ACRONYM_NAME=" + acrName;

该更改应阻止db引擎抱怨它找不到ACRONYM_DB.mdb

但是,如果您的ACRONYM_NAME字段为text数据类型,则修改后的语句仍可能失败,并出现其他错误如果是文本,则可以通过在acrName值之前和之后加上引号来避免丢失参数值投诉

myCommand.CommandText = "SELECT * FROM ACRONYM WHERE ACRONYM_NAME='" + acrName + "'";

但是,实际上,参数查询将是更好的方法,因为可以防止SQL注入,并且如果acrName是文本值,则无需担心引号

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MS Access数据库(.mdb)中的表的审核跟踪

来自分类Dev

MS Access / accdb“无法打开数据库”错误(C#)

来自分类Dev

Microsoft Access数据库未显示“数据库工具”选项卡

来自分类Dev

使用Microsoft Access创建文档数据库

来自分类Dev

从MySQL数据库访问Microsoft Access表

来自分类Dev

Microsoft Access Compact和使用C#.accdb文件修复

来自分类Dev

从VBA SQL语法错误将MS EXCEL转换为MS ACCESS .accdb数据库

来自分类Dev

如何删除存储在Access(.accdb)中的图像?

来自分类Dev

MS Access将.mdb合并到.accdb需要太多时间

来自分类Dev

如何以编程方式将Access 1997 .mdb转换为Access 2007 .accdb

来自分类Dev

创建数据库后无法连接到Microsoft SQL Server数据库(“系统找不到指定的文件”)

来自分类Dev

我应该使用pyodbc还是win32com来使用python填写Microsoft Access数据库(.accdb)中预先存在的表格?

来自分类Dev

Access数据库错误“找不到文件”

来自分类Dev

如何将值插入数据库(Microsoft Access)?

来自分类Dev

比较两个Microsoft Access数据库

来自分类Dev

生成Microsoft Access数据库表的列表

来自分类Dev

Microsoft Access数据库引擎找不到对象'Sheet1 $

来自分类Dev

将Microsoft Access数据库与Silverstripe网站数据库同步

来自分类Dev

无法识别Microsoft Access数据库文件的数据库格式'C:\ ..... \ Employees.accdb?

来自分类Dev

PHP:调试与Access数据库(.accdb)的PDO连接

来自分类Dev

有没有一种方法可以自动将旧的Access数据库(.MDB文件)转换为较新的.ACCDB格式?

来自分类Dev

无法在Microsoft Access数据库中打开报表

来自分类Dev

Microsoft Jet数据库引擎找不到对象“ Sheet1 $ _”

来自分类Dev

Microsoft JET数据库引擎错误:“正在使用文件”

来自分类Dev

从 C# 连接到 Microsoft Access 数据库

来自分类Dev

accdb 文件的 Access 数据库连接

来自分类Dev

Matlab 创建新的 Microsoft Access 数据库文件 *.accdb

来自分类Dev

VB6 & .accdb 数据库登录表格

来自分类Dev

仅在使用 Microsoft Excel VBA 查询 Access accdb 文件时对“MSysObjects”没有读取权限(错误号:-2147217911) - mdb 工作正常

Related 相关文章

  1. 1

    MS Access数据库(.mdb)中的表的审核跟踪

  2. 2

    MS Access / accdb“无法打开数据库”错误(C#)

  3. 3

    Microsoft Access数据库未显示“数据库工具”选项卡

  4. 4

    使用Microsoft Access创建文档数据库

  5. 5

    从MySQL数据库访问Microsoft Access表

  6. 6

    Microsoft Access Compact和使用C#.accdb文件修复

  7. 7

    从VBA SQL语法错误将MS EXCEL转换为MS ACCESS .accdb数据库

  8. 8

    如何删除存储在Access(.accdb)中的图像?

  9. 9

    MS Access将.mdb合并到.accdb需要太多时间

  10. 10

    如何以编程方式将Access 1997 .mdb转换为Access 2007 .accdb

  11. 11

    创建数据库后无法连接到Microsoft SQL Server数据库(“系统找不到指定的文件”)

  12. 12

    我应该使用pyodbc还是win32com来使用python填写Microsoft Access数据库(.accdb)中预先存在的表格?

  13. 13

    Access数据库错误“找不到文件”

  14. 14

    如何将值插入数据库(Microsoft Access)?

  15. 15

    比较两个Microsoft Access数据库

  16. 16

    生成Microsoft Access数据库表的列表

  17. 17

    Microsoft Access数据库引擎找不到对象'Sheet1 $

  18. 18

    将Microsoft Access数据库与Silverstripe网站数据库同步

  19. 19

    无法识别Microsoft Access数据库文件的数据库格式'C:\ ..... \ Employees.accdb?

  20. 20

    PHP:调试与Access数据库(.accdb)的PDO连接

  21. 21

    有没有一种方法可以自动将旧的Access数据库(.MDB文件)转换为较新的.ACCDB格式?

  22. 22

    无法在Microsoft Access数据库中打开报表

  23. 23

    Microsoft Jet数据库引擎找不到对象“ Sheet1 $ _”

  24. 24

    Microsoft JET数据库引擎错误:“正在使用文件”

  25. 25

    从 C# 连接到 Microsoft Access 数据库

  26. 26

    accdb 文件的 Access 数据库连接

  27. 27

    Matlab 创建新的 Microsoft Access 数据库文件 *.accdb

  28. 28

    VB6 & .accdb 数据库登录表格

  29. 29

    仅在使用 Microsoft Excel VBA 查询 Access accdb 文件时对“MSysObjects”没有读取权限(错误号:-2147217911) - mdb 工作正常

热门标签

归档