问各位一个关于DBGRID的问题!(50分)

  • 主题发起人 易名烦
  • 开始时间

易名烦

Unregistered / Unconfirmed
GUEST, unregistred user!
这样的:
一个DBGRID关联上一个ADOQUERY,当数据有两条或两条以上时,更改了DBGRID里的数据后
换行ADOQUERY就会自动提交数据,但如果只有一条数据,换不了行,ADOQUERY就不会提交数据,
怎么让它提交?
又怎么让它不自动提交?
或是控制它的提交!
如果你是好好好好人(当然回答问题的是好好好人,提前的是好好人,点击的是好人,呵呵),
请给点源码好吗?
 
table.post
 
adoquery1.Post
 
POST,提示要先INSERT或是EDIT或是APPEND!

不会这么回答吧!
 
还有就是什么时候POST,不会随时都POST吧,哪不是慢死了!
服务器都给搞死了!
 
当然是你要POST时才POST了。
 
老师,我在改DBGRID里的数据,我怎么知道它是怎么POST的啊?
况且它又不象TEDIT有ONCHANGE,我什么时候POST啊?
 
procedure TForm1.ADOQuery1BeforeEdit(DataSet: TDataSet);
begin
abort
end;

procedure TForm1.ADOQuery1BeforeInsert(DataSet: TDataSet);
begin
abort;
end;
当你需要跟辛数据时就 取消这两个事件,

另外,就是使用缓存机制
 
var
CanPost:Boolean=false;
procedure TForm1.ADOQuery1BeforePost(DataSet: TDataSet);
begin
if not(canPost) then abort; //取消自动提交
////// 点击按钮正常提交
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if adoQuery1.Modified then
begin
CanPost:=true; //设置可提交状态
adoQuery1.Post;
end;
CanPost:=false; //恢复到不可提交状态。
end;
 
>>>怎么让它提交?
在某一个特定的事件中post一下!
例如:DBGrid1的KeyUp事件中,判断按下的是不是某一个特定的键,比如说“下拉键”
如果是,则post;
 
完颜康和JSXJD:
不行,你们分得得太容易了,给俺发个好东西就分分给你们俩!
把你们机器里最好但小于5M的东西发一个给我行吗!
 
顶部