D
djf813
Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序如下:
dm1.Q_login.Close;
dm1.Q_login.Sql.Clear;
[red]//dm1.Q_login.sql.add('select * from ryxx where rydm="'+edit1.text+'"');[/red]
[blue]dm1.Q_login.sql.add('select * from ryxx where rydm=:rydm');
dm1.Q_login.Parameters.ParamValues['rydm']:=edit1.text;[/blue]
dm1.Q_login.Open;
if dm1.Q_login.RecordCount<>0 then
begin
rymc:=dm1.Q_login.fieldvalues['rymc'];
rymm:=dm1.Q_login.fieldvalues['rymm'];
zq:=dm1.Q_login.fieldvalues['zq'];
label3.Caption:=inttostr(length(rymm));
[green]if (rymm=edit2.text) and (Length(rymm)=Length(edit2.text)) then...[/green]
程序红色的部分执行时出错,改为下面兰色的程序执行正常,为什么?绿色的部分一直无法为真,我
试了一下,才知道rymm返回的长度和edit2.text的不同,rymm返回的不是我要的4位字符,而是数据库设
定的字段长度10位的字符,但用BDE就没有这个问题,请教如何解决才能象BDE一样返回正确的长度的字符?
dm1.Q_login.Close;
dm1.Q_login.Sql.Clear;
[red]//dm1.Q_login.sql.add('select * from ryxx where rydm="'+edit1.text+'"');[/red]
[blue]dm1.Q_login.sql.add('select * from ryxx where rydm=:rydm');
dm1.Q_login.Parameters.ParamValues['rydm']:=edit1.text;[/blue]
dm1.Q_login.Open;
if dm1.Q_login.RecordCount<>0 then
begin
rymc:=dm1.Q_login.fieldvalues['rymc'];
rymm:=dm1.Q_login.fieldvalues['rymm'];
zq:=dm1.Q_login.fieldvalues['zq'];
label3.Caption:=inttostr(length(rymm));
[green]if (rymm=edit2.text) and (Length(rymm)=Length(edit2.text)) then...[/green]
程序红色的部分执行时出错,改为下面兰色的程序执行正常,为什么?绿色的部分一直无法为真,我
试了一下,才知道rymm返回的长度和edit2.text的不同,rymm返回的不是我要的4位字符,而是数据库设
定的字段长度10位的字符,但用BDE就没有这个问题,请教如何解决才能象BDE一样返回正确的长度的字符?