我编写的程序如下:
procedure TForm1.ComboBox1Click(Sender: TObject);
var i:int;
begin
  i:=Fields[i];
  for i:=1 to recordcount-1 do
  begin
    combobox1.Items.Add(Table1.Fields[0].asstring);
    Table1.Next;
  end;
end;procedure TForm1.Edit1Change(Sender: TObject);
begin
  Edit1.Text:=Table1.Fields[3].Value.asstring;
end;procedure TForm1.Edit2Change(Sender: TObject);
begin
  Edit2.Text:=Table1.Fields[6].Value.asstring;
end;procedure TForm1.Edit3Change(Sender: TObject);
begin
  Edit3.Text:=Table1.Fields[4].Value.asstring;
end;procedure TForm1.Edit4Change(Sender: TObject);
begin
  Edit4.Text:=Table1.Fields[2].Value.asstring;
end;
运行是老有错误,请帮我改正一下,谢谢!!!

解决方案 »

  1.   

    procedure TForm1.ComboBox1Click(Sender: TObject);
    var i:int;
    begin
      i:=Fields[i];
      while not Table1.Eof do
      begin
        combobox1.Items.Add(Table1.Fields[0].asstring);
        Table1.Next;
      end;
    end;可以不?我感觉你写的事件不对吧......你再看看
      

  2.   

    就是要用combobox和edit连接数据库的某个字段里的内容,实在困难,请帮帮忙!!!多谢!!!
      

  3.   

    EditX.Text:=Table1.Fields[X].Value.asstring;
    是不是反了
    Table1.Fields[X].Value.asstring :=EditX.Text;
      

  4.   

    procedure TForm1.ComboBox1Click(Sender: TObject);
    var i:int;
    begin
      i:=Fields[i];        --这一句看不懂,干什么用的?
      for i:=1 to recordcount-1 do     --从1开始,为什么还要-1呢?
      begin
        combobox1.Items.Add(Table1.Fields[0].asstring);
        Table1.Next;
      end;
    end;
      

  5.   

    为什么都写在OnChange事件里?是要保存更改到数据库里吗?
    那也应该是
    Table1.Fields[3].asstring := Edit1.Text;
      

  6.   

    你为什么不用DBedit、DBcombobox呢?
      

  7.   

    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      Table1.Fields[3].asstring := Edit1.Text;
    end;procedure TForm1.Edit2Change(Sender: TObject);
    begin
      Table1.Fields[6].asstring := Edit2.Text;
    end;procedure TForm1.Edit3Change(Sender: TObject);
    begin
      Table1.Fields[4].asstring := Edit3.Text;
    end;procedure TForm1.Edit4Change(Sender: TObject);
    begin
      Table1.Fields[2].asstring := Edit4.Text;
    end;procedure TForm1.ComboBox1Click(Sender: TObject);
    begin
      for i:=0 to recordcount-1 do
      begin
        combobox1.Items.Add(Table1.Fields[i].AsString);
        Table1.Next;
      end;
    end;
    再请问一下,现在错误提示是:[Error] Unit1.pas(79): Undeclared identifier: 'i'
    [Fatal Error] Project2.dpr(7): Could not compile used unit 'Unit1.pas'请帮我修改一下,急急急!!!谢谢帮忙!!!
      

  8.   

    [Error] Unit1.pas(31): Unsatisfied forward or external declaration: 'TForm1.ComboBox1Change'不好意思,还有一条!!
      

  9.   

    for i:=0 to recordcount-1 do
    这条语句中的循环控制变量 i 没定义
    procedure TForm1.ComboBox1Click(Sender: TObject);
    var 
        i : integer;
    begin
      for i:=0 to recordcount-1 do
      begin
        combobox1.Items.Add(Table1.Fields[i].AsString);
        Table1.Next;
      end;
    end;
      

  10.   

    procedure TForm1.ComboBox1Enter(Sender: TObject);
    begin
      ComboBox1.clear;
      with table1 do
      begin
       first;
       while not table1.eof do
       begin
        ComboBox1.items.add(Fieldbyname('字段名').Asstring);
        next;
       end;
    end;
      

  11.   

    procedure TForm1.ComboBox1Click(Sender: TObject);
    begin
      while not table1.eof do
      begin
        combobox1.Items.Add(Table1.Fieldbyname('fileds').asstring);
        Table1.Next;
      end;
    end;
      

  12.   

    [Error] Unit1.pas(79): Undeclared identifier: 'i'
    [Fatal Error] Project2.dpr(7): Could not compile used unit 'Unit1.pas'这个错误是因为你没有定义变量I。
    [Error] Unit1.pas(31): Unsatisfied forward or external declaration: 'TForm1.ComboBox1Change'这个错误是因为你可能无意中删除了TFORM1。COMBOBOX1CHANGE这个事件的声明部分。在单元头部检查一下这个事件的声明还在不在。
      

  13.   

    同意 jlee084(编程浪子) 的做法。很简练也很实用。不过我觉得选择的事件不太合适。这样写的话程序的效率很低。不如把它写在FORMSHOW中。以下对 jlee084(编程浪子) 的程序做了一小点改动。
    procedure TForm1.formshow(Sender: TObject);
    var 
        i : integer;
    begin
      for i:=0 to recordcount-1 do
      begin
        combobox1.Items.Add(Table1.Fields[i].AsString);
        Table1.Next;
      end;
    end;
      

  14.   

    procedure TForm1.ComboBox1Click(Sender: TObject);/////var i
    begin
      for i:=0 to recordcount-1 do
      begin
        combobox1.Items.Add(Table1.Fields[i].AsString);
        Table1.Next;
      end;
    end;