您现在的位置: 365建站网 > 365学习 > access插入有单引号文本失败和用法实例

access插入有单引号文本失败和用法实例

文章来源:365jz.com     点击数:413    更新时间:2018-06-14 16:45   参与评论

今天在发布文章的时候,发现自己的网站对文章竟然发布失败,后来一个个排除,原因是对单引号的没有转译,在插入access的时候错误。

在文本中存在单引号是很正常的事情,所以只能修复这个问题,方法其实很简单,因为access中可以使用两个单引号来转译,所以只要把文本中的单引号替换为双引号就可以了。

代码:

        string strContent = this.FCKeditor1.Value;
        strContent = strContent.Trim().Replace("'", "''");

修改后,插入成功。

 a1 = Replace(a1, "'", "''")


首先你要明白你SQL语句结构:如例子。INSERT INTO DataTable(DataTime,DataValue) values('2013-04-08','aaaa').你的sql语句是这样才能正确执行,那这样你就明白了,你的字符串拼接中的单引的意思了吧。双引就是表示你两个双引间是字符串。你这里是多个字符串拼接。
可以用string.Format

SQL =string.Format("INSERT INTO DataTable(DataTime,DataValue) VALUES('{0}','{1}'",dataTime[i],dataValue[i]);,这样看着明了DateTime dateTime = new DateTime();
           dateTime = DateTime.Now;//不可以直接带入dateTime  要加上+号
           string strSQL = "INSERT INTO Developer(Name, Address,DOB) VALUES('www101','HUDAN','" + dateTime + "')";
加号是两个字符串拼接的用处
"a"+"b"结果得到"ab"
双引号的作用是作为字符串 字符串常量都要用双引号括起来
另外就是插入数据库是要在值的左右加上单引号'以上符号都要是英文模式

Access中字符常量的定界符可以是单引号,也可以是双引号。
在其VBA中,如下例,“北京”两个字要用引号引起来,可以用单引号
strsql = "select * from 学生 where 籍贯='北京'"
也可以用两个连续双引号表示一个双引号
strsql = "select * from 学生 where 籍贯=""北京"""
但不能用strsql = 'select * from 学生 where 籍贯="北京"'
在Access 2003中通配符%用*替代,例如查询姓“李”的学生信息
SELECT * FROM 学生 WHERE 姓名 like "李*";
&是字符串连接运算符,例如"abc" & "def"得到字符串"abcdef"
AND是逻辑运算符,当两个操作数同时为真时,其结果AND的结果为真
例如:年龄>20 And 性别='女'

Select * from gz where 职称="工程师"
这个语句有问题,肯定在调试时出现错误,原因很简单,完全的SQL语句如下:
strSQL="Select * from gz where 职称="工程师""
你应该知道,"Select * from gz where 职称="这是一个字符串,字符串到“=”这里结束了,后面是“工程师”,是什么?变量?不对!字符串?不对!这里就会出现问题,而最后的“""”是一个空字符串。正确的语句应该是:
strSQL="Select * from gz where 职称='工程师'"
双引号到“'工程师'”后才结束,也就是这是应该完整的字符串。

在SQL语句中,单引号和双引号的应用是有区别的。

例如:
strSQL="Select * from gz where 职称='" & 工程师 & "'"
那么,“工程师”是字符型变量,注意:有单引号!

再如:
strSQL="Select * from gz where ID=" & PID & ""
说明,字段ID是数字类型字段,变量PID是数字类型变量,注意:没有了单引号!

再如:
strSQL="Select * from gz where 职称 Like '%" & ABC & "%'"
是通配符%的典型应用,一般这种查询都是字符型字段。


如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (413人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------