输入界面不要用DBGrid,自己根据课程个数动态创建TEdit,通过TEdit输入成绩,保存的时候自己作相应的insert或update

解决方案 »

  1.   

    数据库结构应该没问题,很标准,很规范,第三范式。
    建一个临时表,字段为,sno,sname,f1,f2,f3,f4,f5,f6....最多有几门课就到几吧,这个表里不会存数据进去的。
    程序中,把引用这个表的Query的cachupdate设为true,这样对这个表的操作都在内存中了,速度很快的。再把与之关联的dbgrid的表头修改一下(多的field隐藏,并修改title)。
    保存就麻烦一点了。
    还可以用内存表控件,运行时动态在内存中建表
    供参考