C# 关于Mysql更新!
我正在用winform、mysql、c#做一个大学项目 为此,我用这个结构创建了mysql表C# 关于Mysql更新!,c#,mysql,C#,Mysql,我正在用winform、mysql、c#做一个大学项目 为此,我用这个结构创建了mysql表 CREATE TABLE `attendance_monthly_rpt` ( `id` int(15) NOT NULL AUTO_INCREMENT, `student_no` varchar(50) NOT NULL, `student_name` varchar(50) NOT NULL, `day1` varchar(15) NOT NULL, `day2` varchar
CREATE TABLE `attendance_monthly_rpt` (
`id` int(15) NOT NULL AUTO_INCREMENT,
`student_no` varchar(50) NOT NULL,
`student_name` varchar(50) NOT NULL,
`day1` varchar(15) NOT NULL,
`day2` varchar(15) NOT NULL,
`day3` varchar(15) NOT NULL,
`day4` varchar(15) NOT NULL,
`day5` varchar(15) NOT NULL,
`day6` varchar(15) NOT NULL,
`day7` varchar(15) NOT NULL,
`day8` varchar(15) NOT NULL,
`day9` varchar(15) NOT NULL,
`day10` varchar(15) NOT NULL,
`day11` varchar(15) NOT NULL,
`day12` varchar(15) NOT NULL,
`day13` varchar(15) NOT NULL,
`day14` varchar(15) NOT NULL,
`day15` varchar(15) NOT NULL,
`day16` varchar(15) NOT NULL,
`day17` varchar(15) NOT NULL,
`day18` varchar(15) NOT NULL,
`day19` varchar(15) NOT NULL,
`day20` varchar(15) NOT NULL,
`day21` varchar(15) NOT NULL,
`day22` varchar(15) NOT NULL,
`day23` varchar(15) NOT NULL,
`day24` varchar(15) NOT NULL,
`day25` varchar(15) NOT NULL,
`day26` varchar(15) NOT NULL,
`day27` varchar(15) NOT NULL,
`day28` varchar(15) NOT NULL,
`day29` varchar(15) NOT NULL,
`day30` varchar(15) NOT NULL,
`day31` varchar(15) NOT NULL,
`tot_persent` int(15) NOT NULL,
`tot_absent` int(15) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
我用p、Ab、OD更新该表第1天到第31天的列。现在我想把tot_不存在逻辑中的tot_percent更新为Ab和P与OD之和
例如
IHM22557001,耶迦底斯瓦兰,Ab,p,Ab,OD,0,0,OD,Ab,0,0,0,Ab
总数是3
tot_缺席的时间是4
提前谢谢。我将建议一种不同的模式;以日为基础。如果您有基于日的,即
Id, StudentNumber, Date, Status
请注意,更新tot___percent etc在预先计算的形式中不存在,因为它们在数据中非常有用
然后可以通过非常干净的方法获得数据:
SELECT Date, Status
FROM StudentAttendance
WHERE StudentNumber = @no
AND Date >= @start AND Date <= @end
ORDER BY Date
这可能是由数据库中的
tinyint
或类似内容引起的。大多数ORM/micro-ORM都会自动为您映射,因此您不必在那里做任何聪明的事情。我将建议一种不同的模式;以日为基础。如果您有基于日的,即
Id, StudentNumber, Date, Status
请注意,更新tot___percent etc在预先计算的形式中不存在,因为它们在数据中非常有用
然后可以通过非常干净的方法获得数据:
SELECT Date, Status
FROM StudentAttendance
WHERE StudentNumber = @no
AND Date >= @start AND Date <= @end
ORDER BY Date
这可能是由数据库中的tinyint
或类似内容引起的。大多数ORM/micro-ORM会自动为您映射,这样您就不必在那里做任何聪明的事情