Access中数据库转义字符规则:
插入、更新、=匹配 数据时,文本类型如用''括起来,中间可以有 ",*,%,[,],\,/,?,(,),{,}的任意组合,如要插入一个',需写''并在整个表达式外套一对''
如,插入 '张''三',数据库里就是 张'三,用方括号是不可以的
插入、更新、=匹配 数据时,文本类型如用""括起来,中间可以有 ',*,%,[,],\,/,?,(,),{,}的任意组合,如要插入一个',需写''并在整个表达式外套一对""
如,插入"张""三",数据库里是 张"三
模糊匹配时,文本类型用''括起来,中间可以有 ",*,],\,/,(,),{,}任意组合,对[,%,?,需要在每个特殊符号左右紧跟着套一对[],
如要匹配[?,应写 Like '%[[][?]%',不能写 Like '%[[?]%',后者会匹配含有[或?的记录,而[?不一定会匹配到紧挨一起。
总结:
插入、更新、等于匹配 数据时,统一将文本类型用''括起来,只需要将待插入表达式中的'转化为''
在模糊匹配时,文本类型统一用''括起来,将'转为'',同时对每一个[,%,?,都用一对方括号括起来
示例:
insert into Test(Name) values("用'双''引\/*%%_[[]号""括起来")
插入记录 用'双''引\/*%%_[[]号"括起来
insert into Test(Name) values('用"""单''撇[({/*%}]号括起来')
插入记录 用"""单'撇[({/*%}]号括起来
select * from Test where Name like '*[%][%]?[[]*'
查找含有 %%?[ 的字符串 ?表示一个字符,*匹配任意个字符,程序中要写%
select * from Test where Name like '*双''''*'
查找含有 双'' 的字符串
参考网址
http://www.jb51.net/article/9280.htm
http://topic.csdn.net/t/20051018/1
需要注意的是page_load里面的创建存储过程只能执行一次,如果第二次还要创建同名的话会提示错误信息“存储过程已经存在。”,其实加个判断就行了。懒得加了,只是用来试验一下。
调试环境 ASP.NET 2.0(编译工具VS2008),代码C#,access版本2003
protected void Page_Load(object sender, EventArgs e)
{
Ol ......
由于工作需要,使用ACCESS数据库存储港口周围AIS设备接收到的船舶数据。由于在全国很多港口有采集点,因此,数据量很大,每三分钟存储一次数据的话,那么一次将有2000多新的船位数据。这些数据入库后,数据库文件大小将新增1M到2M左右。根据这个频率,一个小时数据库文件将增加40M,一天就是960M。
为了提高数据库效率,我 ......