当前位置:主页>销售管理软件> 列表

奇怪的问题,字符串相等但比较不来 找人事管理软件下载

财务软件版1楼: str1:=combobox1.Text ;
showmessage(str1);
str2:=datamodule4.ADOQuery2.FieldByName(''查询字段'').AsString;
showmessage(str2);
if str1=str2 then
showmessage(''no'');
两个值都是 杂费
为什么showmessage(''no'')不会触发.
请问为什么,

2楼: 去掉空格
str1:=TRIM(combobox1.Text) ;

str2:=TRIM(datamodule4.ADOQuery2.FieldByName(''查询字段'').AsString); 如sql超市进销存系统

3楼: str1:=combobox1.Text ;
str1中可能有回车符

4楼: if Trim(Str1)=Trim(Str2) then
begin
……
end;

这样在试试

5楼: if LowerCase(trim(str1))=LowerCase(trim(str2)) then
showmessage(''no'');

6楼: 你能肯定值都是 杂费 吗?
用楼上的看看去首尾空格,如果不行那就换个英文或数字比较一下

财务软件版7楼: 单个提示一下看看

8楼: 建议把两个串保存到两个文件里,用比较工具比较,有时候凡人的肉眼是看不出问题的!

9楼: 可能是后面有个全角的空格.[:D][:D][:D]

10楼: 前面几位大哥说的对 最好用trim 去掉空格 在比较 这样就不会发生错误了

11楼: 这样试一下。
str1:=combobox1.Text ;
showmessage(str1);
str2:=datamodule4.ADOQuery2.FieldByName(''查询字段'').AsString;
showmessage(str2);
 iLen := Length(str2); //=========
str1 := Copy(str1,1,iLen);//=========
if str1=str2 then
showmessage(''no'');

12楼: SameText比较一下
或者
WideSameText比较Unicode 如人事管理软件下载

13楼: 解决了,可能是写进Access数据库时,数据库自动在后面加上空串,我数据库定义字段为char(12) 杂费 长度不够呵,再取出来比较时就出现上面的情况.要是我数据表字段设为varchar型可能就不会有这个问题了.自以为是这样.不知道对不对!
分数只能给第一个回答正确的人!