Delphi问题求解

来源:百度知道 编辑:UC知道 时间:2024/05/04 06:23:44
procedure TForm4.Edit9Change(Sender: TObject);
var bm:TBookmarkstr;
begin
DM.ADOQuery1.First;
bm:=DM.ADOQuery1.Bookmark;
while not(DM.ADOQuery1.Eof) and (DM.ADOQuery1.FieldValues['学号']<>self.Edit9.Text)
do
begin
DM.ADOQuery1.Next;
end;
//if DM.ADOQuery1.Eof then DM.ADOQuery1.Bookmark:=bm;
end;
为什么 DM.ADOQuery1.FieldValues['学号']<>self.Edit9.Text 总是不成立啊,学号是在数据库中定义的是char(11)

改成varchar(11)

或者从数据库取出来trim一下

trim(DM.ADOQuery1.Fieldbyname('学号').AsString)<>self.Edit9.Text

把DM.ADOQuery1.FieldValues['学号']<>self.Edit9.Text 改成下面这句试试
DM.ADOQuery1.FieldByName('学号').assting<>self.Edit9.Text