关于DBEdit的onChange事件问题 ( 积分: 50 )

  • 主题发起人 主题发起人 mrzpz
  • 开始时间 开始时间
M

mrzpz

Unregistered / Unconfirmed
GUEST, unregistred user!
功能:当DBEdit1的内容发生变化时,程序自动去搜索wwtable1中的数据库。
但运行时总出现‘project *** raised exception class EAccessViolation with message "Access Violation at adress...."’
请指点。
程序如下:
procedure TForm1.DBEdit1Change(Sender: TObject);
var
seekship:string;
begin
with wwTable1 do
Begin
IndexFieldName:='ShipName';
if not (DBEdit1.Text = null) then
begin
seekship:=UpperCase(DBEdit1.text);
Findnearest([SeekShip]);
end;
end;
end;
 
功能:当DBEdit1的内容发生变化时,程序自动去搜索wwtable1中的数据库。
但运行时总出现‘project *** raised exception class EAccessViolation with message "Access Violation at adress...."’
请指点。
程序如下:
procedure TForm1.DBEdit1Change(Sender: TObject);
var
seekship:string;
begin
with wwTable1 do
Begin
IndexFieldName:='ShipName';
if not (DBEdit1.Text = null) then
begin
seekship:=UpperCase(DBEdit1.text);
Findnearest([SeekShip]);
end;
end;
end;
 
我觉得改成这个样子是不是更好点
procedure TForm1.DBEdit1Change(Sender: TObject);
var
seekship:string;
begin
if not (DBEdit1.Text = null) then
begin
seekship:=UpperCase(DBEdit1.text);
with wwTable1 do
Begin
IndexFieldName:='ShipName';

Findnearest([SeekShip]);
end;
end;
end;
 
试了一下,不行,还是老毛病。
 
同样的程序,使用edit就可以,不知为什么?
 
dbedit直接和数据库关联
改动了dbedit的内容以后就会更改数据库里面的内容
 
问题已经决绝。
 
讲讲处理方法
 
后退
顶部