sql语句中的字符串拼接
2013-11-13 21:46
169 查看
在使用sql语句的时候,我们经常会遇到使用字符串变量的时候,比如说,查询,str:='select * from Table where Name='''+Name+'''';在.net里面使用sqlparameter,就不需要自己手动转换了,但是在delphi中,好像是没有那种用法,组织sql语句时,怎么把拼接的字符串转成符合规范的sql语句,这就是个问题了。
就像上面写那句一样,我要想把name的值传到sql语句中间,还要带上单引号,形如str:='select * from Table where Name='JueJiang‘',就要考虑delphi中单引号的用法了。
首先,单引号必须是成对的,运行之后可能会出现’123''之类的情况,但是编译期写成str := '123''肯定是不行的。
第二,单引号的意义,成对的单引号,是标准的字符串赋值格式。在成对单引号之间的单引号,每两个相当于一个转换之后的单引号字符。还是举个例子说明一下吧。
去掉指定字符串格式的两个单引号,中间的部分,两个单引号代表一个'字符,加号运算符的效果相当于去掉中间的两个单引号。
使用变量也是一样:
通常sql语句中的拼接用的都是最后的一种情况。
补充一下,双引号,在delphi没有什么特殊的含义,就是普通的字符
最后,还有sql语句的换行,换行就相当于是两个字符串的拼接了,需要使用加号连接起来。
就像上面写那句一样,我要想把name的值传到sql语句中间,还要带上单引号,形如str:='select * from Table where Name='JueJiang‘',就要考虑delphi中单引号的用法了。
首先,单引号必须是成对的,运行之后可能会出现’123''之类的情况,但是编译期写成str := '123''肯定是不行的。
第二,单引号的意义,成对的单引号,是标准的字符串赋值格式。在成对单引号之间的单引号,每两个相当于一个转换之后的单引号字符。还是举个例子说明一下吧。
str := ''''; str1 := '123'''; str2 := '123'+''; ------------------------------------- 显示结果: str:' str1:123' str2:123
去掉指定字符串格式的两个单引号,中间的部分,两个单引号代表一个'字符,加号运算符的效果相当于去掉中间的两个单引号。
使用变量也是一样:
str3 := '123'+Name; str4 := '123'''+Name; str5 := '123'''+Name+''; str6 := '123'''+Name+''''; ------------------------------------- 显示结果: str3:123456 str4:123'456 str5:123'456 str6:123'456'
通常sql语句中的拼接用的都是最后的一种情况。
补充一下,双引号,在delphi没有什么特殊的含义,就是普通的字符
str7 := '"123"'; ------------------------------------- 显示结果: str7:"123"
最后,还有sql语句的换行,换行就相当于是两个字符串的拼接了,需要使用加号连接起来。
str:='select * from Table '+ 'where Name='''+Name+'''';
相关文章推荐
- SQLSERVER 根据传入的参数拼接sql语句字符串,反馈结果集
- 数据库SQL语句字符串的拼接和转义字符
- oracle数据库拼接sql语句字符串问题
- sql语句将查询的结果拼接成字符串
- oracle sql语句中字符串拼接
- 多条件查询的sql语句字符串拼接
- 拼接字符串sql语句查询[WEB学习实例]
- sql语句 拼接字符串 含有 单引号 ’
- sql语句字符串拼接的两种方法 SQL Server
- SQL语句中和字符串的拼接问题
- sql语句,exec执行 拼接的字符串 输出参数 问题
- mysql 中字符串拼接,查询sql语句总结
- sql语句字符串拼接时技巧运用
- MySQL中limit使用动态参数的解决方法(拼接SQL字符串语句来执行SQL)
- 代码里使用字符串操作来拼接sql语句的坏处
- SQL语句中关于字符串的拼接问题
- asp.net后台对sql语句排序,筛选,gridview隐藏过长的字符串鼠标放上去显示全部,dropdownlist在前台显示拼接字符串
- 解决存储过程中拼接的SQL字符串超长导致sql语句被截取的问题
- SQL语句实现在原字段后拼接字符串
- SQLSERVER 根据传入的参数拼接sql语句字符串,反馈结果集