用火腿肠做的简单小吃:VFP中=和==有无区别?

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 10:58:39
VFP中=和==有无区别?

是这样,在之前看到的程序里面,一般都是用的=号。

我刚刚在看别人的作品,发现登陆框用户密码校验的时候,如果用一个“=”,程序有些不正常,但是改成“==”,则能够正常。

所以有此问。

字符串比较除“Machine”和“Unique Weight”排序次序外,其余排序次序都忽略大小写,这意味着在索引表达式中不一定要使用 UPPER( )函数。
认识排序次序的影响排序次序对字符串比较、SEEK及 SELECT - SQL等命令的结果有影响,如下所述。字符串比较除“Machine”和“Unique Weight”排序次序外,其余排序次序都忽略大小写,这意味着在索引表达式中不一定要使用 UPPER( )函数。当前的排序次序将影响字符串比较的结果。例如,当把排序次序设为“General”时,下面的表达式返回“真”(.T.):
?"A" = "a"
?"Stra?e"="Strasse"
?"?" = "ae"
然而,当使用“Machine”排序次序时,所有这些语句返回“假”(.F.),因为字符串是按照字节进行精确比较的。
字符串比较操作符 (==) 同于按值比较,或使用“Machine”排序次序(即按字节比较)进行的比较。例如,下面的语句返回“假”(.F.):? "Stra?e" == "Strasse"
附注 当使用字符串比较操作符 (==) 时,Visual FoxPro 将忽略 SETEXACT 设置。

摘录自VFP6.0程序员指南,这应该是最权威的说明.

VFP没有接触过
不过其他的语言来说
=代表赋值,==代表比较
比如if(a==b){..}
如果A=B的话那么就执行大括号里的语句
但是,如果吧a==b换成a=b的话,就会出问题

有的语言里可以编译通过,但不管A和b相等不相等都会执行大括号里的语句,而有的语言编译就通不过

= :表示左边的要包含右边的.
==:表示的是左右两边要完全相等.

登陆框用户密码校验的时候,它需要的是严格比较。
而=是模糊比较
比如"刘晓"="刘晓琦"
==是严格比较。
这时"刘晓"不="刘晓琦"了严格比较就是必须严格相同啦。
你想想比较密码时
用模糊比较可以吗?
当然不可以啊,
要不数据库保密性也太差了吧。
是吧兄弟?
还有如果非要用=的话,
也可以在前面加上set exact on
这是个严格比较的开关。
把它打开就可以了。
好好学习吧兄弟。
你一定行的。
呵呵。