confused,你没说清楚,我认为这个好想不难
你根据用户的输入拼写SQL语句就是了,都是这么做的

解决方案 »

  1.   

    你所说的是数据显示的格式,实际表结构不应如此。我认为至少要建立下面五个表表1: 成绩表
    字段: 学号,课程号,成绩表2: 学生表
    字段:学号,姓名,(根据需要增加)表3: 课程表
    字段:课程号,课程名,总评分,(根据需要增加)表4: 评定项目表
    字段: 项目号,项目名称,项目说明,(根据需要增加)表5: 课程评定表
    字段:学号,课程号,项目号,评分学生各科总分由成绩表统计获得:select sum(成绩) from 成绩表 group by 学号;
    课程总评分由课程评定表统计获得;
      

  2.   

    按要求的格式显示数据可以使用query,用SQL在有关表中查询获得所需的数据
      

  3.   

    你说的是自段可以动态增加,是吗?那直接用SQL语句就行了.
      

  4.   

    虽然数据库设计不合理,但还是有办法不改表结构就可以解决问题的
    只要有个中间表(关于课程),这个表的课程与现在这个表的课程是一一对应的就行了,你先取出你那个表所有相关的课程,然后通过delphi的循环来将这个表的课程用字符串连接就行了,如:    sSqlText := 'update tabel1 set 学号 = xxx '       
        qryKc.Active := True;
        qryKc.First;
        while not qryKc.Eof do
        begin
          sSqlText := sSqlText + ', 课程1 = ''' + qryKc.FieldByName('Kc').AsString + ''''  
          Next;
        end;