【问题标题】:Unable to fire update and insert query in access using C# windows application无法使用 C# Windows 应用程序在访问中触发更新和插入查询
【发布时间】:2012-08-14 10:51:04
【问题描述】:

我正在尝试使用 MS Access 后端创建一个 Windows 应用程序,但我在插入和更新查询方面遇到了一些问题。

select 语句对我来说工作正常,但插入和更新不起作用。消息是:syntax error in "update" and " insert into "

下面是我连接访问数据库的连接字符串

<add key="AppConnection" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=GNDb.mdb;
  Jet OLEDB:Database Password=@black123;" ></add>

我试图从前端到后端的查询

插入:insert into tblU(UserName, Password) values('ops1', 'ops')

更新:Update tblU set Password='pqr5' where UserName='pqr'

这是我的表架构:

ID            - AutoNumber
UserName text - text
Password      - text

在前端我使用 Oledb 连接和命令。 我正在使用 2003 ms 访问 mdb 文件。我不知道这是哪种语法错误? 请建议我更正/答案

【问题讨论】:

  • 您对*.mdb 文件有足够的权限吗?还是只读权限?
  • yaa 表示该文件是我创建的,我为其设置了密码,即我在连接字符串中提到

标签: c# ms-access


【解决方案1】:

密码是保留字,应该用方括号括起来。

insert into tblU(UserName, [Password]) values('ops1', 'ops')

JetACE 中的保留字

【讨论】:

  • 这取决于 Access 的版本。您对 2007 版本是正确的,但在 2002/2003 中情况并非如此:List of reserved words in Access 2002 and in later versions of Access
  • @JensH OP 没有使用 Access,他们使用的是 Jet,即 2007 年前版本的 Access 使用的数据库。请参阅我上面的链接,它是“Jet 4.0 中的保留字列表”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-12
  • 1970-01-01
  • 2015-04-13
相关资源
最近更新 更多