例如将字符串 'abc' "efg" 连其中的符号更新到数据表里,可以这样写:
DoCmd.RunSQL "update t1 set a='''abc'' ""efg""'"
运行代码后可以再数据表里看到这个字符串 'abc' "efg"
说明:
直接看代码不容易搞清楚,这里说明一下。其实就是将每个需要写入数据表的单引号或双引号都处理为两个单引号或者双引号即可。代码中原本应该有单双引号的地方还得照用。
DoCmd.RunSQL "update Tbl1 set A =单引号 双引号 双引号 单引号 双引号
实际代码就要写成以下结构
DoCmd.RunSQL "update Tbl1 set A =' "" "" '"
看起来是不是很累?没关系运行一下代码,看到结果就会明白了。
这就要从双引号和单引号的作用讲起:
1,双引号里面的字段会经过编译器解释然后再当作HTML代码输出,但是单引号里面的不需要解释,直接输出。例如:
$abc='I love u'
echo $abc //结果是:I love u
echo '$abc' //结果是:$abc
echo "$abc" //结果是:I love u
2,所以在对数据库里面的SQL语句赋值的时候也要用在双引号里面SQL="select a,b,c from ..."
3,但是SQL语句中会有单引号把字段名引出来
例如:select * from table where user='abc'
这里的SQL语句可以直接写成SQL="select * from table where user='abc'"
4,但是如果象下面:
$user='abc'
SQL1="select * from table where user=' ".$user." ' "对比一下
SQL2="select * from table where user=' abc ' "
5,我把单引号和双引号之间多加了点空格,希望你能看的清楚一点。
也就是把'abc' 替换为 '".$user."'都是在一个单引号里面的。只是把整个SQL字符串分割了。
SQL1可以分解为以下3个部分
1:"select * from table where user=' "
2:$user
3:" ' "
字符串之间用 . 来连接。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)