续上程序:
procedure Tform1.Titlist;
var
  i:word;
begin
  DBGrid1.Visible :=true;
  with Table1 do
    begin
      close;
      Filter:='';
      Filtered:=true;
      open;
    end;
    for i:=0 to 4 do
      begin
        DBGrid1.Columns[i].Title.Caption:=Title[i];
        DBGrid1.Columns[i].Title.Alignment:=taCenter;
        DBGrid1.Columns[i].Alignment:=taCenter;
      end;
end;
procedure TForm1.N2Click(Sender: TObject); //修改数据菜单
begin
  Combobox1.Visible :=False;
  RadioButton1.Visible :=False;
  RadioButton2.Visible :=False;
  BitBtn1.Visible :=False;
  DBGrid1.Visible :=True;
  PopupMenu1.Items[0].Enabled :=false;
  PopupMenu1.Items[1].Enabled :=false;
  PopupMenu1.Items[2].Enabled :=false;
  PopupMenu1.Items[3].Enabled :=false;
  BitBtn4.Visible :=true;
  //DBGrid1.OnDblClick :=not;
  Titlist;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1.Position :=poDesktopCenter;
  Table1.Close;
  Table1.DatabaseName:='D:\Tel';
  Table1.TableName:='companyphone.db';
  BitBtn4.Visible :=false;
  combobox1.Style:=csDropdown; //既有文本编辑功能又有列表选择功能
  table1.Open;
  if table1.RecordCount=0 then
    begin
      application.MessageBox('欢迎您首次使用本软件!按鼠标右添加数据。','欢迎',MB_OK,);
      bitbtn1.Enabled :=false;
      combobox1.Enabled :=false;
      radiobutton1.Enabled :=false;
      radiobutton2.Enabled :=false;
      popupmenu1.Items[1].Enabled :=false;
      popupmenu1.Items[2].Enabled :=false;
      popupmenu1.Items[3].Enabled :=false;
    end
end;procedure TForm1.N4Click(Sender: TObject); //显示数据菜单
begin
  Combobox1.Visible :=False;
  RadioButton1.Visible :=False;
  RadioButton2.Visible :=False;
  BitBtn1.Visible :=False;
  DBGrid1.Visible :=True;
  PopupMenu1.Items[0].Enabled :=false;
  PopupMenu1.Items[1].Enabled :=false;
  PopupMenu1.Items[2].Enabled :=false;
  PopupMenu1.Items[3].Enabled :=false;
  BitBtn4.Visible :=true;
  Titlist;
  //DBGrid1.OnDblClick :=Sender;
end;procedure TForm1.N1Click(Sender: TObject); //添加数据菜单
var
  i,ID:integer;
  CID:string;
begin
  ComboBox1.Visible :=true;
  BitBtn1.Visible :=true;
  Radiobutton1.Visible :=true;
  Radiobutton2.Visible :=true;
  GroupBox1.Visible :=true;
  Edit1.Text:='';
  Edit2.Text:='';
  Edit3.Text:='';
  Edit4.Text:='';
  Edit5.Text:='';
  PopupMenu1.Items[0].Enabled :=true;
  PopupMenu1.Items[1].Enabled :=true;
  PopupMenu1.Items[2].Enabled :=true;
  PopupMenu1.Items[3].Enabled :=true;
  table1.Close;
  table1.Open;
  if table1.RecordCount=0 then
    begin
      edit1.Text:=formatdatetime('ee',now)+formatdatetime('mm',now)+format('%.4d',[0001]);
    end
  else
    begin
     with table1 do
       begin
         table1.Last;
         CID:=fields[0].AsString;
         ID:=strtoint(CID);
         inc(ID,1);
         edit1.Text:=inttostr(id);
       end
    end;
end;procedure TForm1.BitBtn3Click(Sender: TObject);//数据添加与修改退出钮
begin
  DBGrid1.Visible :=False;
  bitbtn4.Visible :=False;
  GroupBox1.Visible :=False;
  ComboBox1.Visible :=True;
  BitBtn1.Visible :=True;
  Radiobutton1.Visible :=true;
  Radiobutton2.Visible :=true;
  PopupMenu1.Items[0].Enabled :=True;
  PopupMenu1.Items[1].Enabled :=True;
  PopupMenu1.Items[2].Enabled :=True;
  PopupMenu1.Items[3].Enabled :=True;
end;procedure TForm1.N3Click(Sender: TObject); //删除数据菜单
begin
  Combobox1.Visible :=False;
  RadioButton1.Visible :=False;
  RadioButton2.Visible :=False;
  BitBtn1.Visible :=False;
  DBGrid1.Visible :=True;
  PopupMenu1.Items[0].Enabled :=false;
  PopupMenu1.Items[1].Enabled :=false;
  PopupMenu1.Items[2].Enabled :=false;
  PopupMenu1.Items[3].Enabled :=false;
  BitBtn4.Visible :=true;
  DBGrid1.OnDblClick :=nil;
  //DBGRid1.Enabled :=false;
  Titlist;
end;procedure TForm1.BitBtn4Click(Sender: TObject);//数据表退出钮
begin
  DBGrid1.Visible :=False;
  BitBtn4.Visible :=False;
  Combobox1.Visible :=True;
  RadioButton1.Visible :=True;
  RadioButton2.Visible :=True;
  BitBtn1.Visible :=True;
  PopupMenu1.Items[0].Enabled :=True;
  PopupMenu1.Items[1].Enabled :=True;
  PopupMenu1.Items[2].Enabled :=True;
  PopupMenu1.Items[3].Enabled :=True;
  DBGrid1.OnDblClick :=nil;  //屏蔽该事件
end;

解决方案 »

  1.   

    检查一下BDE,估计是因为你没有把BDE打包到安装程序里面造成的
      

  2.   

    续上程序:
    procedure TForm1.BitBtn2Click(Sender: TObject);
    begin
      if groupbox1.Caption='添加' then
         begin
           with table1 do
             begin
               append;
               fields[0].AsInteger:=strtoint(edit1.Text);
               fields[1].AsString:=edit2.text;
               fields[2].AsString:=edit3.Text;
               fields[3].AsString:=edit4.Text;
               fields[4].AsString:=edit5.Text;
               post;
             end;
         end;
       IF groupbox1.Caption='修改' then
         begin
           with table1 do
             begin
               edit;
               fields[0].AsInteger:=strtoint(edit1.Text);
               fields[1].AsString:=edit2.Text;
               fields[2].AsString:=edit3.Text;
               fields[3].AsString:=edit4.Text;
               fields[4].AsString:=edit5.Text;
               post;
             end;
         end;
      groupbox1.Visible:=False;
      DBGrid1.Visible :=False;
      BitBtn4.Visible :=False;
      Combobox1.Visible :=True;
      RadioButton1.Visible :=True;
      RadioButton2.Visible :=True;
      BitBtn1.Visible :=True;
      PopupMenu1.Items[0].Enabled :=True;
      PopupMenu1.Items[1].Enabled :=True;
      PopupMenu1.Items[2].Enabled :=True;
      PopupMenu1.Items[3].Enabled :=True;
      Combobox1.Enabled :=True;
      RadioButton1.Enabled :=True;
      RadioButton2.Enabled :=True;
      BitBtn1.Enabled :=True;
    end;procedure TForm1.DBGrid1DblClick(Sender: TObject);
    begin
      with table1 do
        begin
          edit1.Text:=fields[0].AsString;
          edit2.Text:=fields[1].AsString;
          edit3.Text:=fields[2].asstring;
          edit4.Text:=fields[3].AsString;
          edit5.Text:=fields[4].AsString;
          groupbox1.Visible:=True;
          edit1.Enabled:=false;
          groupbox1.Caption:='修改';
         // bitbtn2.Caption:='修改保存';
        end;
    end;procedure TForm1.RadioButton1Click(Sender: TObject);
    var
      d,i:integer;
    begin
      combobox1.Text :='';
      //combobox1.Text :=combobox1.Items[0];
      bitbtn1.Enabled :=true;
      table1.Close;
      table1.Open;
      d:=table1.RecordCount;
      combobox1.Items.Clear;
      if radiobutton1.Checked=true then
      begin
      with table1 do
        begin
          for i:=1 to d do
            begin
              open;
              combobox1.Items.Add(FieldbyName('companyname').AsString);
              next;
            end;
        end;
      end;
    end;procedure TForm1.RadioButton2Click(Sender: TObject);
    var
      d,i:integer;
    begin
      combobox1.Text :='';
      //combobox1.Text :=combobox1.Items[0];
      bitbtn1.Enabled :=true;
      table1.Close;
      table1.Open;
      d:=table1.RecordCount;
      combobox1.Items.Clear;
      if radiobutton2.Checked=true then
      begin
        with table1 do
          begin
            for i:=1 to d do
              begin
              open;
              combobox1.Items.Add(FieldbyName('name').AsString);
              next;
            end;
        end;
      end;
    end;procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      if combobox1.text=''then
        begin
          application.MessageBox('输入框不能为空!','提示',MB_OK,);
        end
      else
        begin
        groupbox2.Visible :=true;
        table1.Close;
        table1.Open;
        if table1.Locate('companyname',combobox1.text,[lopartialkey]) or table1.Locate('name',combobox1.text,[lopartialkey]) then
          begin
            with table1 do
              begin
                groupbox2.Caption :='ID:'+fields[0].AsString;
                label6.Caption :=fields[1].AsString;
                label7.Caption :=fields[2].AsString;
                label8.Caption :='公司:'+fields[3].AsString;
                label9.Caption :='手机:'+fields[4].AsString;
              end;
          end;
        end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      Groupbox2.Visible :=false;
      combobox1.Text:='';
    end;end.完。
      

  3.   

    那怎样把BDE打包到安装程序里?那为什么一台电脑可以,另台电脑不可以呢?
      

  4.   

    能够运行的电脑安装了BDE,不能运行的没安装……还要继续说明么……
    打包一般是使用一些第三方打包工具,比如inno setup,installshield
    http://hi.baidu.com/zhwong/blog/item/1a5b2201dc3fec0b7bec2cdc.html
      

  5.   

    Borland Database Engine?需要运行的机器里安装了它才行
    尽量不用使用bde,改用ado,基本不用安装,一般的机器都有