我的一个紧急问题(200分)

  • 主题发起人 主题发起人 gghhjj
  • 开始时间 开始时间
G

gghhjj

Unregistered / Unconfirmed
GUEST, unregistred user!
谁能告诉我1:关于adoquery的afterscroll事件要求
和上面的几个edit相联系,指针在grid上移动,edit内容也跟着移动
2:怎样才能象adotable一样实现删除命令
adotable1.delete;(指针指向grid的那条记录
但是adoquery却不能
with adoquery1 do
begin
close;
sql.clear;
sql.add('delete tablename where.......)我不知道where后写什么,
怎样才能得到指针所指的那条记录,我要删除指针指向grid的那条记录怎么办?
end;
我要求详细答案
不高兴动脑筋了
 
对于这个问题已经做过回答了
1、adoquery关联一个datasource,在datasource的ondatachange事件中
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
edit1.text:=adoquery1.fieldbyname('sdf').asstring;
end;
2、adoquery1.delete;其实adoquery1一样也有delete方法,用法和adotable一样
够详细了吧
 
谢谢上面这位仁兄,我还有个问题你能告诉我吗?
利用treeview实现权限控制,我最近看到一个程序
delphi编的,可以通过点击权限树控制权限,不知道你知道不知道
如果可以请告诉我好吗?
你是位好同志,我会给你分数的,而且不少,等着吧
 
一个怎么样的权限控制?是像金蝶那样的给用户付权限的东西?
 
treeview实现权限控制其实也是对数据库的操作了
你给用户的权限设置可以根据有无把它记为1或0存入表里,
然后下次登陆是就读该表就行了
 
terry_lzs你好:
我试过了你的方法,不过有点问题,是这样的,在做删除时会出现定位不到记录的问题
我都照你做的做了
adoquery.delete;
我加了adoquery.close;
adoquery.clear;
但也好象不行;
 
to:暗暗思索
你在哪里添加了adoquery1.close?
adoquery1.delete是删除当前adoquery记录指针所在的记录,如果你adoquery.close
adoquery.open当然定位不到原来的记录了,刷新以后指针又指到了第一条记录上了
 
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
adoquery1.Insert;

end;


procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
dbedit1.text:=adoquery1.fieldbyname('a').asstring;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
adoquery1.Delete;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
with adoquery1 do
begin
close;
sql.clear;
sql.add('select * from a');
open;
end;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
adoquery1.post;
dbedit1.Clear;

end;

procedure TForm1.ADOQuery1AfterDelete(DataSet: TDataSet);
begin
adoquery1.Close;
adoquery1.Open;
end;

end.
 
你要确保先OPEN后delete再close就OK啦,
最好在delete前用
try
adoquery1.delete;
except
end
这样就不会错啦;
至于afterscroll事件我认为不用在ondatasource中做
在afterscroll中做就可以
procedure TfrmMoney.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
edit1.text:= ADOQuery1.Fields[0].asstring;
edit2.text:= ADOQuery1.Fields[1].asstring;
edit3.Text :=ADOQuery1.Fields[4].asstring;
end;
 
用adotable.delete
 
接受答案了.
 
你这个人真它妈的不要脸,我很少骂人的,可实在看不惯你这种行为.你自编自娱,我不想说你,
别人好心给你答了问题,你还要搞这种明堂,真是卑鄙,无耻,下流!!!
大伙儿搜索一下gghhjj和fishor这两个ID看看.
http://www.delphibbs.com/delphibbs/listq.asp?type=2&expert=gghhjj
各位请看:
第 4 名 gghhjj 1500 1615 16 1 14 115.00
第 5 名 fishor 1400 1505 48 12 28 53.00

300 911 ,apec fishor 3 / 11 gghhjj 2001-10-14
300 是否喜欢911,apec fishor 2 / 6 gghhjj 2001-10-14
300 911,apec3 fishor 2 / 6 gghhjj 2001-10-14
300 gghhjj在吗? fishor 2 / 7 gghhjj 2001-10-14
300 gghhjj在吗?》 fishor 2 / 6 gghhjj 2001-10-14
 
后退
顶部