关于用sql更新数据的问题?

lonely_wolf 2002-09-06 12:42:11
各位大哥,这是我第一次尝试做软件,请多教教我。
我的表中因为要求课程是“活”的,所以不知如何写更新语句。主表结构如下:
系别 班级 学号 姓名 课程1 课程2...... 总分
另外还有一课程评定表,表结构如下:
学号 姓名 评定项目1 评定项目2 评定项目3....
每一门课程对应所有的评定项目,提供两个dbgrid供输入,分别对应主表和评定表。
如果对应主表的dbgrid有输入则:
课程根据用户选择显示,并且更新所选的课程(不知道写)。
如果对应评定的dbgrid有输入则:
保存学号,姓名到评定表,并把学号,姓名复制到主表
,把所有的评定项目的数据加起来作为对应课程的数据保存起来到主表(不知道写)。
拜托各位了!!!
...全文
38 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadow7880 2002-09-06
  • 打赏
  • 举报
回复
具体的查询控制自己在详细的往里加
shadow7880 2002-09-06
  • 打赏
  • 举报
回复
虽然数据库设计不合理,但还是有办法不改表结构就可以解决问题的
只要有个中间表(关于课程),这个表的课程与现在这个表的课程是一一对应的就行了,你先取出你那个表所有相关的课程,然后通过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;
星空朗朗 2002-09-06
  • 打赏
  • 举报
回复
你按照目前的表结构来做,比改库表结构更难。你会遇到数不清的麻烦。
sosomybaby 2002-09-06
  • 打赏
  • 举报
回复
你说的是自段可以动态增加,是吗?那直接用SQL语句就行了.
我不懂电脑 2002-09-06
  • 打赏
  • 举报
回复
你的库设计得很差,连2范式都达不到。
lonely_wolf 2002-09-06
  • 打赏
  • 举报
回复
小弟不胜感激,如果改库结构,就全部要做过了,按原库结构没法实现吗
星空朗朗 2002-09-06
  • 打赏
  • 举报
回复
按要求的格式显示数据可以使用query,用SQL在有关表中查询获得所需的数据

星空朗朗 2002-09-06
  • 打赏
  • 举报
回复
你所说的是数据显示的格式,实际表结构不应如此。我认为至少要建立下面五个表

表1: 成绩表
字段: 学号,课程号,成绩

表2: 学生表
字段:学号,姓名,。。。(根据需要增加)

表3: 课程表
字段:课程号,课程名,总评分,。。。(根据需要增加)

表4: 评定项目表
字段: 项目号,项目名称,项目说明,。。。(根据需要增加)

表5: 课程评定表
字段:学号,课程号,项目号,评分

学生各科总分由成绩表统计获得:select sum(成绩) from 成绩表 group by 学号;
课程总评分由课程评定表统计获得;
zou5655 2002-09-06
  • 打赏
  • 举报
回复
你好象要用主从表才好办哟!!把课程单独做成一个表!!
lesstif 2002-09-06
  • 打赏
  • 举报
回复
confused,你没说清楚,我认为这个好想不难
你根据用户的输入拼写SQL语句就是了,都是这么做的

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧