用ADOQuery怎么来实现用SQL来删除和添加记录啊!!应该怎么写??如果用DBGrid来显示记录时,用一按键来实现删除当前记录,另一按键可以增加记录!!具体是怎么样的啊!!我试了很久,还是不得!!麻烦大家看看!!谢谢
解决方案 »
- adoquery参数传递错误
- SQL自定义函数问题
- 在使用WSAAsyncSelect模型进行UDP通信时遇到的问题?
- 有没有combox和dbgrid关联的控件
- 如何在已打开的当前excel文件中插入一行记录,excel文件是新建的事先不知道文件名。
- 用 quick report做报表 如何取得总页数!(在线等待)
- 学习多层数据库有没有必要看一些企业ERP系统?
- pb简单问题,定义完(retrieval arguments)怎么view菜单下的where等不能点击?
- 请问各位大侠如何让98的系统时间不能被用户修改?
- 向大侠们请教一个问题--有关作聊天室方面的
- 向高手求救 急急急!!!(在线等)
- 怎样捕捉EDBEngineError异常?
AdoQuery.Delete;
AdoQuery.Post;增加:
AdoQuery.Append;
AdoQuery.Fields[0].Asstring := '1';
AdoQuery.Fields[1].Asstring := 'Name';
......
AdoQuery.Post;
新增记录:
dbgrid1.ReadOnly:=false;
dbnavigator1.BtnClick(nbinsert);
删除记录:
dbnavigator1.BtnClick(nbdelete);
确定:
dbnavigator1.BtnClick(nbpost);
dbgrid1.ReadOnly:=true;
取消:
dbgrid1.ReadOnly:=true;
dbnavigator1.BtnClick(nbcancel);另外,你还可以自定义buttonchange函数控制四个按钮的焦点。比如按下新增按钮,确定和删除按钮激活,删除按钮enabled:=false等
在论坛里可下载
a:= a:=dbgrid1.SelectedField.AsString;with adoquery do
begin
close;
sql.clear;
sql.add('delete from 表 where 某字段=:t1');
Parameters[0].value:=a;
execSQL;
end;
你的error怎么會是FoxPro的,恐怕是這里有問題!應該是SQL的!
procedure TW_EducateSetup.BitBtn1Click(Sender: TObject);
begin
If Edit2.Text <> '' then
begin
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
If blnEdit then // blnEdit 是判断是修改还是增加时的保存
begin
ADOQuery2.SQL.Add('UpDate EducateSetup');
ADOQuery2.SQL.add(' Set EducateName='''+ Edit2.Text +''' Where EducateNum='''+ Edit1.Text +'''');
end
else
begin
ADOQuery2.SQL.Add('Insert Into EducateSetup');
ADOQuery2.SQL.add(' (EducateNum, EducateName) Values('''+ Edit1.Text +''','''+ Edit2.Text +''')');
end;
ADOQuery2.ExecSQL;
SeleteSQL; //初绍化 DBGrid 数据的函数
end
Else
Messagebox(self.Handle,'请输入学历名称!','系统提示信息',MB_OK+MB_ICONINFORMATION);
Edit2.SetFocus;
end;// 单击DBGrid时自动把该记录的值显示在各项中,并改变状态为修改
procedure TW_EducateSetup.DBGrid1CellClick(Column: TColumn);
begin
If ADOQuery1.RecordCount <> 0 Then
begin
blnEdit := True;
Edit1.Text := DBGrid1.Fields[0].AsString ;
Edit2.Text := DBGrid1.Fields[1].AsString ;
end;
end;// 鼠标右击记录时弹出删除提示窗
procedure TW_EducateSetup.DBGrid1MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
If Button = mbRight Then
begin
If ADOQuery1.RecordCount <> 0 Then
begin
If Application.MessageBox('确认要删除本条信息吗?','系统提示信息',MB_YESNO) = IDYES Then
begin
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Delete From EducateSetup');
ADOQuery2.SQL.add(' Where EducateNum ='''+ DBGrid1.SelectedField.AsString +'''');
ADOQuery2.ExecSQL;
SeleteSQL; //初绍化 DBGrid 数据的函数
end;
end;
end;
end;//取消按钮的代码
procedure TW_EducateSetup.BitBtn3Click(Sender: TObject);
begin
SeleteSQL; //初绍化 DBGrid 数据的函数
end;yj2k