zoukankan      html  css  js  c++  java
  • ADO.NET更新ACCESS碰到的怪异问题

    开发环境:VS2005+ACCESS2007
    驱动:Provider=Microsoft.Jet.OLEDB.4.0
    使用ADO.NET更新ACCESS时碰到一个怪异问题,不知道是ADO.NET还是ACCESS或是连接字符串驱动程序的BUG.

    例如使用模糊查询使用SELECT * From tablename WHERE fieldname LIKE '%aaa' 查询不到任何记录,但是使用
    SELECT * From tablename WHERE fieldname LIKE '*aaa' 能够查询到所有记录.

    当使用UPDATE tablename SET filedname='bbb' WHERE fieldname LIKE '*aaa' 做为CommandText的时候,调用
    ExecuteNonQuery()执行更新操作的时候返回的行数竟然为0,数据库也没有任何的更新.但是直接在ACCESS的SQL视图中执行却提示能够更新.
    而使用UPDATE tablename SET filedname='bbb' WHERE fieldname LIKE '%aaa' 做为CommandText的时候,调用
    ExecuteNonQuery()执行更新操作的时候确可以更新成功,返回更新执行的行数.但是直接在ACCESS的SQL视图中执行却返回行数为0,不能正确执行更新.

    虽然ACCESS的帮助中如是说:

    请务必注意,ANSI SQL 中的通配符 (%) 和 (_) 只能在 Microsoft Access 数据库引擎和 Microsoft Office Access 2007 OLE DB Provider 中使用。如果通过 Microsoft Office Access 2007 或 DAO 使用,它们将被视为文字。

    百思不得其解.望大家指教.

  • 相关阅读:
    Merge Sorted Array
    Remove Duplicates from Sorted List
    Climbing Stairs
    Plus One
    微信开发 (四) 微信网页授权
    基于注解的实现获取微信openId1
    利用TortoiseGit(小乌龟)将项目上传至GitHub网站
    微信网页授权多次回调code请求
    安装git之后,桌面出现蓝色问号的解决方法
    两个日期之间的日历
  • 原文地址:https://www.cnblogs.com/figo/p/1171609.html
Copyright © 2011-2022 走看看