数据库不同步,高手帮忙看看(10分)

  • 主题发起人 主题发起人 陈芬
  • 开始时间 开始时间

陈芬

Unregistered / Unconfirmed
GUEST, unregistred user!
我写的程序中有插入和删除.
当我插入一个数据时,在删除的地方根本看不到刚才插入的数据.
我的插入代码procedure Txueshengxinxi.Button1Click(Sender: TObject);
begin
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('select * from student');
ADOQuery1.Open ;
ADOQuery1.Append ; //把注册信息写入学期注册表中
ADOQuery1.FieldByName ('stu_id').AsString :=trim(edit1.Text);
ADOQuery1.FieldByName ('stu_name').AsString :=trim(edit2.Text);
ADOQuery1.FieldByName ('stu_sex').AsString :=trim(combobox1.Text);
ADOQuery1.FieldByName ('stu_xi').AsString :=trim(edit4.Text);
ADOQuery1.FieldByName ('stu_class').AsString :=trim(edit5.Text);
ADOQuery1.FieldByName ('stu_tel').AsString :=trim(edit6.Text);
ADOQuery1.Prepared ;
try
ADOConnection1.BeginTrans; //提交事务
ADOQuery1.Post ;
ADOConnection1.CommitTrans ;
MessageBox(handle,'录入成功!','提示',MB_OK+MB_ICONINFORMATION);
except
ADOConnection1.RollbackTrans ; //提交失败,事务回滚
MessageBox(handle,'录入失败!','提示',MB_OK+MB_ICONWARNING);
end;

end;


删除代码


procedure Txueshenglixiao.Button1Click(Sender: TObject);
begin
ADOQuery1.close;
ADOQuery1.Sql.clear;
ADOQuery1.Sql.Add('delete from student ');
ADOQuery1.Sql.Add('where stu_id=:v1');
ADOQuery1.Parameters.ParamByName('v1').Value:=trim(combobox1.Text);
ADOQuery1.Prepared ;
adoquery1.ExecSQL;
end;

请问我要怎么做才能实时更新.
谢谢.
 
如果你显示的地方数据源用的是ADOQuery1
那插入后再执行一次
ADOQuery1.open
 
还是不行
还有没有别的办法呢
 
没有明白你的意思,什么是:“在删除的地方根本看不到刚才插入的数据”是不是删除不了啊?
 
显示控件的DataSet是什么?
从你的代码看应该是在同一个Form下插入删除操作的
插入以后执行:
TADOQuery(DBGrid1.DataSource.DataSet).Requery();
这里假定你的显示控件的Name是DBGrid1
 
其实看细点你会发现,他的插入和删除是在不同的窗体中实现的
弄清楚了,那么也就比较容易实现要求了,你在插入的时候在OPEN一下有删除功能的那个窗体就ok了
 
楼主叫陈芬 。。。????
 
谢谢大家
我问题解决了
问题是:我所有的创口都是默认自动创建的
只要不默认自动创建就好了
回复小乌龟,我确实叫陈芬
 

Similar threads

后退
顶部