兄弟们,我是菜鸟,我今天做个tquery组件连接数据库的时候,出先了以下问题,请你们帮帮忙,小弟万分感谢......
[fatal error] dy2.pas(170):could not create output file 'dy2.dcu'
我的代码如下:
unit dy2;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, DB, DBTables;type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Query1: TQuery;
    GroupBox1: TGroupBox;
    Panel2: TPanel;
    BitBtn2: TBitBtn;
    Label5: TLabel;
    Label6: TLabel;
    Panel3: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit4: TEdit;
    Edit3: TEdit;
    Edit2: TEdit;
    Edit1: TEdit;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    Query2: TQuery;
    BitBtn1: TBitBtn;
    Database1: TDatabase;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Close;
end;procedure TForm1.BitBtn2Click(Sender: TObject);
begin
   //防止向表中插入null
  if (Trim(Edit1.Text )= '')then
  begin
    ShowMessage('学号不能为空');
    Exit;
  end;
  if (Trim(Edit2.Text )= '')then
  begin
    ShowMessage('姓名不能为空');
    Exit;
  end;
  if (Trim(Edit3.Text )= '')then
  begin
    ShowMessage('语文成绩不能为空');
    Exit;
  end;
  if (Trim(Edit4.Text )= '')then
  begin
    ShowMessage('数学不能为空');
    Exit;
  end;
  with Query1 do
  begin
    //插入数据
    Close;
    SQL.Clear;
    SQL.Add('insert cj values (:a,:b,:c,:d)');
    ParambyName('a').AsString := Trim(Edit1.Text);
    ParambyName('b').AsString := Trim(Edit2.Text);
    ParambyName('c').AsInteger := StrToInt(Trim(Edit3.Text));
    ParambyName('d').AsInteger := StrToInt(Trim(Edit4.Text));
    ExecSQL;
  end;
  //清空数据
  Edit1.Clear ;
  Edit2.Clear ;
  Edit3.Clear ;
  Edit4.Clear ;
end;procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
var
  m: BooLean;
begin
   //防止输入非法字符
  m := (key <#8)or(key>#8)and(key < #45)or (key>#46)and(key<#48)or(key>#57);
  if m then
    key := #0 ;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
  with Query2 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from cj');
    Open;
  end;
end;procedure TForm1.BitBtn4Click(Sender: TObject);
begin
  if Not Query2.Bof then
  begin
    Query2.Prior;
    Edit1.Text := Query2.FieldByName('bh').AsString;
    Edit2.Text := Query2.FieldByName('xm').AsString;
    Edit4.Text := IntToStr(Query2.FieldByName('yw').AsInteger);
    Edit3.Text := IntToStr(Query2.FieldByName('sx').AsInteger);
  end;
end;procedure TForm1.BitBtn5Click(Sender: TObject);
begin
if Not Query2.Eof then
  begin
    Query2.Next;
    Edit1.Text := Query2.FieldByName('bh').AsString;
    Edit2.Text := Query2.FieldByName('xm').AsString;
    Edit4.Text := IntToStr(Query2.FieldByName('yw').AsInteger);
    Edit3.Text := IntToStr(Query2.FieldByName('sx').AsInteger);
  end;
end;procedure TForm1.BitBtn3Click(Sender: TObject);
begin
  if Query2.Active = True then
    if (Trim(Edit1.Text)<>'')and(Trim(Edit2.Text)<>'')and(Trim(Edit3.Text)<>'')and
      (Trim(Edit4.Text)<>'') then 
    with Query2 do
    begin
      Try
        Edit;
        FieldBYName('bh').AsString := Edit1.Text;
        FieldBYName('xm').AsString := Edit2.Text;
        FieldByName('yw').AsInteger := StrToInt(Edit4.Text);
        FieldBYName('sx').AsInteger := StrToInt(Edit3.Text);
        Post;
        Application.MessageBox('修改成功。','提示',0+64);
      Except
        Application.MessageBox('系统出错。','提示',0+64);
        Close;
      end;
    end;
end;end.