关于字符连接符+的用法

tgtcn 2004-11-21 09:16:52
对于字符连接符的用法,我看了很多实例也不明白,理解能力有点问题,请各位详细点讲解

在查询程序中进行动态的查询,就很多时候使用字符连接符+号了(当然可以用参数赋值的方法),

比如要查询的字段、查询条件和查询内容都是可以供用户选择或输入的一个很普通的例子
'select * from 库存信息表 where '+combobox2.text+''+combobox1.text+''+""+edit1.text+"";

书中的解释是这样的:根据组件中查询中的作用不同,查询连接符也不相同,如组件在查询中是字段或查询条件,使用“+”连接即可,若组件中查询中是查询内容,则应使用“+”和“""”进行连接

又话在查询语句中两个连续的单引号,表示一个单引号

我的理解是会把上面的语句写成:
'select * from 库存信息where +combobox2.text+combobox1.text+edit1.text';
但是错了
...全文
326 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
tgtcn 2004-11-23
  • 打赏
  • 举报
回复
调试工具,我很少用,一定要多多学习才行
Changefish 2004-11-22
  • 打赏
  • 举报
回复
''''比较费解的应该是这个 其实这个就表示单引号
liyu001xj 2004-11-22
  • 打赏
  • 举报
回复
这个要自己摸索,用调试工具,打上断点,看SQL 的内容,我就是这样学的。
tgtcn 2004-11-22
  • 打赏
  • 举报
回复
书我也看不少,关于拼装SQL语句的了,就是不理解,可能有些地方钻了牛角尖了,是不是可以有多种表达方式?
比如
select * from samp where field = '+test+';
就可以写成
select * from samp where field = ''''+test+'''';

这是我的理解,请各位看一看对不对
遇到常量就是'''常量''',遇到变量就''''+变量+''''
''''四个单引号表示一个单引号'

'select * from 库存信息表 where '+combobox2.text+''+combobox1.text+''+""+edit1.text+"";
中的其中两个地方的''
combobox2.text+''
combobox1.text+''
是表示一个空格吧,如果是这样的话就理解正确了


xwdxwd 2004-11-22
  • 打赏
  • 举报
回复
字符连接是用到+,但不是相加的意识!
在delphi中字符要用‘’来标记。如:‘edit1.text’
在写sql 语句时也是如此!
在select * from 库存信息表
where '+combobox2.text+''+combobox1.text+''+''''+edit1.text+'''';
这条语句中,是要符合条件combobox2.text和combobox1.text和edit1.text才可以查询
这三个条件都是字符串,所以要加''
tgtcn 2004-11-21
  • 打赏
  • 举报
回复
基础太差了,所以要多问,我不知道要看什么书,能介绍几本来吗?
dakk 2004-11-21
  • 打赏
  • 举报
回复
不是我批评你,你的基础太差了。

这也有问题,说明你的Basic 、C语言就没有学好。
xfgncit98 2004-11-21
  • 打赏
  • 举报
回复
在sql语句中变量前后需要加+
slipsun 2004-11-21
  • 打赏
  • 举报
回复
这就错了。DELPHI中SQL语句中变量的单引号使用方法:
select * from samp where field = '+test+';
tgtcn 2004-11-21
  • 打赏
  • 举报
回复
照各位所讲,我的SQL语句可以理解为四个字符串了
1、select * from 库存信息表 where
2、combobox2.text
3、combobox1.text
4、edit1.text

'select * from 库存信息表 where' +'combobox2.text'+'combobox1.text'+'edit1.text'

那么为什么+号在‘号的后面呢?
pdbird 2004-11-21
  • 打赏
  • 举报
回复
“+”连接:字符串相加
如:
var
sName :string;
begin
sName := '李'+‘大’+‘嘴’;
Lable.text := sName ;//就会显示为 :李大嘴
end;
ly_liuyang 2004-11-21
  • 打赏
  • 举报
回复
就是字符串相加呀
非常基础的,看看基本的语法书就知道啦

http://lysoft.7u7.net
zdq801104 2004-11-21
  • 打赏
  • 举报
回复
你这样当然不行了,它字符串的话要加引号的呀,你要记得两个连续的单引号表示一个单引号就可以了,你一句SQL语句可以拆开来慢慢看的呀
象你写的那句,你首先呀把select * from 库存信息where 做一个字符串理解,再加上combobox2.text的字符串,不过你最后combobox1.text或edit1.text可就要引号了
肥仔胧 2004-11-21
  • 打赏
  • 举报
回复
打开D自己多敲敲就明白了
我也是自己在应用中过来的

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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