我的dbgrid中数据是用excel中读过来的,dbgrid列名为固定的,分别为学号、姓名、德育、智育、体育、能力这六列,我的access数据库中有学生信息表StuInfo表和学生成绩表Score表,我怎么样把dbgrid中学号和姓名依次保存到StuInfo表,学号、德育、智育、体育、能力保存到Score表

解决方案 »

  1.   

    你用一个ADOTABLE连接access的数据表,
    然后从dbgrid的数据源中读取数据,一条一条的导入。
      

  2.   

    考,
    你首先循环,让dbgrid的数据源不停的向下移动,例如你dbgrid的数据源是一个adotable_excel,连接access数据库的是adotable1那么代码如下:adotable_excel.first;//定位到第一条记录
    while not adotable_excel.eof do
    begin
     with adotable1 do
      begin
        insert;//添加一条空记录
        fieldbyname('fieldname1').value= adotable_excel.fieldbyname('fieldname1').value;
        ...//其它字段的录入,修改fieldname1就可以了
        post;//提交
        adotable_excel.next;//数据源向下移动指针
    end;
    end;
      

  3.   

    呵呵,QQ里帮他搞定了。。接分喽var i: integer;
      x: TCXGridDBCOlumn;
    begin
      for i := 0 to ADODataSet1.Fields.Count - 1 do
      begin
        x := cxGrid1DBTableView1.CreateColumn;
        x.DataBinding.FieldName := ADODataSet1.Fields.Fields[i].FieldName;
        x.Width := 100;
        x.OnHeaderClick := ColumnHeaderClick; //指定列头单击事件
      end;