sql查询问题,非常简单(100分)

  • 主题发起人 主题发起人 muxj
  • 开始时间 开始时间
M

muxj

Unregistered / Unconfirmed
GUEST, unregistred user!
有下面两个查询语句:
fstr:='select * from 助学申请 where(%s%s#%s#) order by %s';
fstr:='select * from 助学申请 where(%s%s''%s'') order by %s';
请问以上两个语句中的#和''代表什么意思?

 
* 是所有字段
 
两个#代表日期型分隔符
两个'在字符串中代表一个'

sql.add(format(fstr,['日期','>','2002/10/1','日期']));
 
就是format的字符串,经过format后,%s将会替换成相应的字符串
#2002-02-02#,代表日期
比方说
format(fstr, str1, str2, str3);后
fstr变成,'select * from 助学申请 where(field1= #2002-02-02#) order by field2'
以实现动态查询的目的
 
这是两个格式化字符串,用在Format函数中,根据你说的这两个字符串,可能是Access中
的查询语句;
对第一个字符串来说,#号是查询日期的起始和终止符号,例示:
str := Format(fstr, ['申请日期', '=', '2002-11-09', '申请日期']);
ShowMessage(str);
则显示为 select * from 助学申请 where (申请日期=#2002-11-09#) order by 申请日期

对第二个字符串来说,''代表是引号,例示:
str := Format(fstr, ['申请人', '=', '张三', '申请人']);
ShowMessage(str);
则显示为 select * from 助学申请 where (申请人='张三') order by 申请人
 
两个#之间的数据表示是一个日期型数据;
连续两个''在SQL中表示一个',其中'一个表示转义
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部