请教:adoquery1.deleteRecords(arALL)为什么不能使用?

8341 2003-08-20 10:40:47
想用这句删除所有记录,为什么不行?说“操作在该内容中不允许”。什么原因?
...全文
44 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzf 2003-08-20
  • 打赏
  • 举报
回复
文不对题,呵呵
不过关心一下,不要见怪!!
chenzf 2003-08-20
  • 打赏
  • 举报
回复
要删除表所有记录用SQL语句 truncate tablename 嘛
或者用delete 也可以啊
deeply 2003-08-20
  • 打赏
  • 举报
回复
该操作应该对单一表使用,他不确定你查的是哪个表,所以不能删除纪录。
8341 2003-08-20
  • 打赏
  • 举报
回复
用ADOTABLE1.DELETERECORDS()也不行,看来只好另寻他途
8341 2003-08-20
  • 打赏
  • 举报
回复
deeply(deeply):
确实,我是用adoquery1.loadfromfile('文件')打开的数据集,我试试用adotable1.loadfromfile(),然后再adotable1.deldterecords(arALL);
Delphi 点击Tree节点的某个选项后,右侧会对应显示出数据信息,左侧的树节点信息从Access数据库读取出来,实际上当我们单击左侧数据的时候,右侧数据同样是从Access数据库读取,只不过关联的ID,就是左侧的数据项,实现这一功能,对应的代码为:   procedure TForm1.TreeView1Click(Sender: TObject);   begin    with ADOQuery2 do    begin    Close;    SQL.Clear;    SQL.Add('Select * From msn where 姓名 =:a');    Parameters.ParamByName('a').Value:=TreeView1.Selected.Text;    Prepared;    open;    end;    if (ADOQuery2.RecordCount>0)and(Treeview1.Selected <> Nil) then    with ADOQuery2 do    begin    Edit1.Text:=ADOQuery2.fieldbyname('ID').AsString;    Edit2.Text:=ADOQuery2.fieldbyname('姓名').AsString;    Combobox1.Text:=ADOQuery2.fieldbyname('性别').AsString;    DatetimePicker1.Date:=ADOQuery2.fieldbyname('出生日期').Value;    Edit3.Text:=ADOQuery2.fieldbyname('民族').AsString;    Edit4.Text:=ADOQuery2.fieldbyname('家庭电话').AsString;    Edit5.Text:=ADOQuery2.fieldbyname('手机号码').AsString;    Edit6.Text:=ADOQuery2.fieldbyname('QQ号码').AsString;    Edit7.Text:=ADOQuery2.fieldbyname('E_mail').AsString;    Memo1.Lines.Text:=ADOQuery2.fieldbyname('备注').AsString;    Combobox2.Text:=ADOQuery2.fieldbyname('类型').AsString;    end;   end;
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, ADODB, OleServer, Excel2000, ExtCtrls, Grids, DBGrids; type TForm1 = class(TForm) ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; DBGrid1: TDBGrid; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; ComboBox1: TComboBox; Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ADOQuery1.Close; ADOQuery1.SQL.Clear; if edit2.Text='13440101' then begin if combobox1.Text='全部学期' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where xm=:sxm and xh=:sxh '); ADOQuery1.Parameters.ParamByName('sxm').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Open end; if combobox1.Text='第一学期' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where xm=:sxm and xh=:sxh and xq=:sxq '); ADOQuery1.Parameters.ParamByName('sxm').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Parameters.ParamByName('sxq').Value :='1'; ADOQuery1.Open end; if combobox1.Text='第二学期' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where xm=:sxm and xh=:sxh and xq=:sxq '); ADOQuery1.Parameters.ParamByName('sxm').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Parameters.ParamByName('sxq').Value :='2'; ADOQuery1.Open end; if combobox1.Text='第三学期' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where xm=:sxm and xh=:sxh and xq=:sxq '); ADOQuery1.Parameters.ParamByName('sxm').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Parameters.ParamByName('sxq').Value :='3'; ADOQuery1.Open end; if combobox1.Text='第四学期' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where xm=:sxm and xh=:sxh and xq=:sxq '); ADOQuery1.Parameters.ParamByName('sxm').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Parameters.ParamByName('sxq').Value :='4'; ADOQuery1.Open end; end; if edit2.Text='13440102' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where xm=:sxm and xh=:sxh and xq=:sxq'); ADOQuery1.Parameters.ParamByName('sxm').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Parameters.ParamByName('sxq').Value :='1'; ADOQuery1.Open end; dbgrid1.Columns.Items[0].Width:=60; dbgrid1.Columns.Items[1].Width:=60; dbgrid1.Columns.Items[2].Width:=60; dbgrid1.Columns.Items[3].Width:=150; dbgrid1.Columns.Items[4].Width:=80; dbgrid1.Columns.Items[5].Width:=60; dbgrid1.Columns.Items[6].Width:=60; dbgrid1.Columns.Items[7].Width:=60; dbgrid1.Columns.Items[8].Width:=60; dbgrid1.Columns.Items[9].Width:=60; dbgrid1.Columns.Items[10].Width:=60; end; procedure TForm1.Button2Click(Sender: TObject); begin ADOQuery1.Close; ADOQuery1.SQL.Clear; if edit2.Text='13440101' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where cj<60 and xh=:sxh'); ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Open; end; if edit2.Text='13440102' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where cj<60 and xh=:sxh'); ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Open; end; dbgrid1.Columns.Items[0].Width:=60; dbgrid1.Columns.Items[1].Width:=60; dbgrid1.Columns.Items[2].Width:=60; dbgrid1.Columns.Items[3].Width:=150; dbgrid1.Columns.Items[4].Width:=80; dbgrid1.Columns.Items[5].Width:=60; dbgrid1.Columns.Items[6].Width:=60; dbgrid1.Columns.Items[7].Width:=60; dbgrid1.Columns.Items[8].Width:=60; dbgrid1.Columns.Items[9].Width:=60; dbgrid1.Columns.Items[10].Width:=60; end; procedure TForm1.Button3Click(Sender: TObject); begin form1.ADOQuery1.Close; form1.ADOQuery1.SQL.Clear; form1.ADOQuery1.SQL.Add('Select xh From xsmessage Where xh=:sxh'); form1.ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; form1.ADOQuery1.Open; form2.qrdbtext1.DataField:='xh'; form2.quickrep1.Preview; end; procedure TForm1.FormCreate(Sender: TObject); begin end; end.

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧