access 2000 like 查询问题

wnix 2007-05-24 04:03:12

ACCESS(我用的是2000)模糊查询出现的变态问题,不知道该问题的希望注意,知道内幕的高手还望给小弟一个解释 Thanks
在SQL Server中模糊查询通常是这样的Select * from tb_Table where no1 like '%000%'
但是在Access中用这条语句执行的时候发现查不出结果 .
后来查了下资料,发现问题如下:
要进行模糊查找,则必须使用通配符,ACCESS库的通配符和SQL SERVER的通配符不一样。
ACCESS库的通配符为:
* 与任何个数的字符匹配。
? 与任何单个字母的字符匹配
在SQL Server中的通配符为:
% 与任何个数的字符匹配
- 与单个字符匹配

但是又发现,C#连接到Access数据库之后,用这样一条语句Select * from tb_Table where no1 like '*000*'
(注意,这边按照上述通配符的要求将%修改为*了)竟然搜索不到应该存在的N条记录,!但直接在Access中执行的时候是有结果的呀!!!

希望大家给个正解。
我查了一下,问这个问题的不多,而且我实验了找不到正解,是不是access要做简单设置。 希望大家帮助
...全文
206 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wnix 2007-05-24
  • 打赏
  • 举报
回复
MariusW() 说的是对的, 谢谢, 发分。
MariusW 2007-05-24
  • 打赏
  • 举报
回复
再补一句,要是想在Access里面调试的sql语句的话,你就得换成* 和 ?
要不然Access是不认识的
在程序里面还是写 % 和 _
MariusW 2007-05-24
  • 打赏
  • 举报
回复
这个问题我遇到过,解决方案是这样的
除非你是用vba,要不然无论是用vb6还是C#,连Access数据库,like 的语法跟
sqlServer里面的一样:
% 与任何个数的字符匹配
- 与单个字符匹配

LZ给分吧,绝对OK
wnix 2007-05-24
  • 打赏
  • 举报
回复
SQl Server 是可以的, 不过项目需要Access .
oliverkahn 2007-05-24
  • 打赏
  • 举报
回复
楼主可以试试把Access数据库中表数据导入到SQL Server中,然后用SQL Server语句进行数据模糊查询:

1、打开企业管理器
2、新建一个数据库(名字可以跟Access中库名一样)
3、在企业管理器中打开该数据库
4、右击表→所有任务→导入数据
5、在DTS导入/导出向导中,单击下一步
6、在“数据源”中选择“Microsoft Access”
7、在“文件名”中选择你在Access中的数据库名,单击“下一步”
8、选择“从源数据库复制表和视图”(默认选项),单击“下一步”
9、选择相关的表,然后下一步,完成。

之后就在工程中连接SQL Server,别连接Access,这样就可以用T-SQL语句进行模糊查询了~
ckpckphaha 2007-05-24
  • 打赏
  • 举报
回复
不会,帮楼主顶

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧