Q&A

  • ado컴포넌트에서 DB입력할때 에러...
델파이 5.0을 쓰고 있는데 ado컴포넌트를 이용해서 데이타 입력과 조회를
하고 있습니다. db는 액세스 db를 써서 만들었고요....
입력을 클릭했을때 나타나는 에러인데 왜 나타나는지... 이유를 모르겠어요.
에러메시지 "이작업에서는 업데이트를 할수 있는 쿼리를 사용해야합니다."
소스....
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, ADODB, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edtno: TEdit;
    Edtname: TEdit;
    Edtaddr: TEdit;
    Edtpost: TEdit;
    Edtphone: TEdit;
    Edtmail: TEdit;
    Btnopen: TButton;
    Btninsert: TButton;
    Btnsave: TButton;
    Btnload: TButton;
    DBNavigator1: TDBNavigator;
    DBGrid1: TDBGrid;
    ADODataSet1: TADODataSet;
    ADOConnection1: TADOConnection;
    ADOCommand1: TADOCommand;
    DataSource1: TDataSource;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    Btnclose: TButton;
    ADODataSet1StdNo: TStringField;
    ADODataSet1Name: TStringField;
    ADODataSet1Address: TStringField;
    ADODataSet1PostCode: TStringField;
    ADODataSet1Phone: TStringField;
    ADODataSet1EMail: TStringField;
    procedure BtnopenClick(Sender: TObject);
    procedure BtninsertClick(Sender: TObject);
    procedure BtnsaveClick(Sender: TObject);
    procedure BtnloadClick(Sender: TObject);
    procedure BtncloseClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.BtnopenClick(Sender: TObject);
begin
ADODATASET1.ACTIVE:=TRUE;
end;

procedure TForm1.BtninsertClick(Sender: TObject);
begin
if(edtno.text<>'')and (edtname.text<>'') then
  begin
  adodataset1.close;
  adoconnection1.open;
  with adocommand1 do
   begin
   parameters[0].value:=edtno.Text;
   parameters[1].value:=edtname.Text;
   parameters[2].value:=edtaddr.Text;
   parameters[3].value:=edtpost.Text;
   parameters[4].value:=edtphone.Text;
   parameters[5].value:=edtmail.Text;
   execute;
   end;
  adodataset1.open;
  end
else
showmessage('학번과 이름을 꼭 입력하세요!');
end;

procedure TForm1.BtnsaveClick(Sender: TObject);
begin
if not adodataset1.Active then
adodataset1.Open;
if savedialog1.Execute then
  adodataset1.SaveToFile(savedialog1.filename+'.ADTG');
end;

procedure TForm1.BtnloadClick(Sender: TObject);
begin
if opendialog1.Execute then
adodataset1.LoadFromFile(opendialog1.filename);
end;

procedure TForm1.BtncloseClick(Sender: TObject);
begin
close;
end;

end.

아시는분은 꼭 리필달아주세요!
그럼 좋은 하루 보내세요.
0  COMMENTS