delphi中的SQL

来源:百度知道 编辑:UC知道 时间:2024/05/24 13:48:55
sql.Add(' where userid='''+strId+''' and Psw='''+strpswd');
谁能帮下我分析下那引号。。。如何的。最好说详细。谢谢了。帮下我入门。

sql.Add(' where userid='''+strId+''' and Psw='''+strpswd');
简单的讲,对于字符串delphi是用单引号界定起来的,所以以上add中要加的字符串一定是用单引号界定起来的,这里的add()里面的由 where userid= 'strid' and Psw='strpswd' 这几部份组成,其中strid、strpswd是具体变量(代表用户Id及口令),由于userid、Psw是字符串,它的右边要字符串常量,因此必须将strid 、strpswd用单引号定界,在delphi中字符串中有单引号如何定界?把 连续两个单引号''就表示一个字符串中的一个'. 'where userid='''理解为:字符串单引号’开始 + where useid= + 两个单引号''(表示一个单引号)+字符串单引号’结束,其它类似。
你的add中的字符串写得比较精简,如果一个一个元素写(即把单引号也当着字符串的一个元素写),应该这样:
sql.Add('where userid='+''''+strId+''''+' and Psw='+''''+strpswd+'''');
即结果为: where userid= + 单引号 +变量strId +单引号 + and Pw= +单引号+变量strpsw +单引号
如实际运行可能是: where userid= 'Hello' and Pw= '12345'

由于 ' (单引号)是SQL的标准字符符号,所以在SQL语句中间遇到 ' 时要做特殊处理。

Delphi的SQL语句中是用两个单引号代替双引号的.

总结一下在:
delphi中,两个单引号之间的一般是字符串,如果要