CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

could not create output file 'dy2.dcu'

楼主hehewozixin(我要发财~~!)2005-06-04 01:00:00 在 Delphi / VCL组件开发及应用 提问

兄弟们,我是菜鸟,我今天做个tquery组件连接数据库的时候,出先了以下问题,请你们帮帮忙,小弟万分感谢......  
  [fatal   error]   dy2.pas(170):could   not   create   output   file   'dy2.dcu'  
   
   
   
   
  我的代码如下:  
  unit   dy2;  
   
  interface  
   
  uses  
      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.  
  问题点数:0、回复次数:4Top

1 楼Kshape(C/C++初学者~~~~)回复于 2005-06-04 02:21:49 得分 0

检查Project--->Options--->Directories/Conditionals--->Unit   Output   DirectoryTop

2 楼47522341(睡到8:30)回复于 2005-06-04 08:09:28 得分 0

可能跟已经编译的上个版本.dcu有冲突;  
  或者你考虑从机器上搜索到相应的文件然后删除应该也能解决问题;Top

3 楼hehewozixin(我要发财~~!)回复于 2005-06-04 20:43:16 得分 0

谢谢你们两位,谢谢,你们的QQ号码多少呀?  
  小弟能和你们两位做朋友吗       .....Top

4 楼amitabha(我相信我的爱,让这句话作我最后的话)回复于 2005-06-04 23:58:11 得分 0

看看是否readonly?Top

相关问题

  • UnitLend.pas: Could not create output file 'UnitLend.dcu'
  • unable to create output file 'f:/tc/noname.obj'
  • 编译时提示 Could not create output file <Filename>
  • 为什么总说could not create output file ???
  • [Fatal Error] Could not create output file 'E:\meetsys\meetsys.exe'
  • TC问题:“unable to create output file:noname.obj"如何解决?
  • [Fatal Error] Could not create output file 'D:\Program\Borland\Delphi6\Projects\Project1.exe'
  • 用tc2.0编译老是出现Unable to create output file是怎么回事
  • 制作组件的时候遇到的问题。cannot create output file 'asp.dll'
  • 编译的时候提示:could not create output file 'd:\program files\borland\delphi6\porjects\bpl\dclusr60.bpl'

关键词

  • fieldbyname
  • bitbtn
  • edit
  • asinteger
  • dcu
  • query
  • tbitbtn
  • tlabel
  • asstring
  • dy

得分解答快速导航

  • 帖主:hehewozixin

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo