首先说说遇到的问题,在Access软件中写了一个带LIKE的SQL语句,可以正常执行,但是复制粘贴到ADO操作里面就出错了。其原因是这样的:如果ADO所采用的数据库引擎是Microsoft Jet Engine,它是以Microsoft SQL Server为基础的,所以即使使用Access数据库作为数据源,也不能使用Access的SQL语法,而要采用SQL Server的语法,而它们的语法虽然很相像,但是还是有一些小区别,如LIKE语句。这是少数不能在本地测试SQL运行结果的情况之一。一个简单的解决方案是在服务器条件允许的情况下采用Access OLE DB Provider作为数据库引擎。 下面总结一下常见数据库系统LIKE子句匹配符的异同点: 匹配单个字符和零到多个字符的两种基本匹配符。 My SQL中使用_匹配单个字符,%匹配零到多个字符。 SQLite中使用_匹配单个字符,%匹配零到多个字符。 Oracle中使用_匹配单个字符,%匹配零到多个字符。 MS SQL中使用_匹配单个字符,%匹配零到多个字符。 Access中分为两种情况: Microsoft Jet引擎中使用_或?匹配单个字符,