这篇是在前面三篇的基础上继续完善学生信息管理系统的功能。
(1)http://blog.csdn.net/wjf_1997/article/details/78474118
(2)http://blog.csdn.net/wjf_1997/article/details/78502039
(3)http://blog.csdn.net/wjf_1997/article/details/78513086
实现功能:修改
一、功能描述
修改功能从两个方面进行数据的修改,涉及到的函数有三个:
(1)update_stuName_info():通过学生编号更新学生的姓名
(2)update_stuCollege_info():通过学生编号更新学生的学院
二、代码
2.1 update_stuName_info()
update_stuName_info(){
show_stu_info;
echo "请输入要修改信息的学生编号(默认仅可以修改自己的信息):"
read studentNo
export nowLine=0;
stringLine=`grep $studentNo $DBStudentInfoPath`
stuName=`echo "$stringLine" | awk -F ',' '{print $2}'`
stuCollegeNo=`echo "$stringLine" | awk -F ',' '{print $3}'`
studentSay=`echo "$stringLine" | awk -F ',' '{print $4}'`
echo "要更新的学生信息记录为:$stringLine"
echo "请输入新的名字:"
read newStudentName
while read line
do
lineStudentNo=${line/,*/}
export nowLine=$(($nowLine+1))
if [ "$lineStudentNo" = "$studentNo" ]; then
{
sed "$nowLine"d $DBStudentInfoPath > $DBStudentInfoPath"_back"
mv $DBStudentInfoPath"_back" $DBStudentInfoPath
echo "$studentNo,$newStudentName,$stuCollegeNo,$studentSay" >> $DBStudentInfoPath
echo "更新成功!"
show_stu_info;
}
fi
done<$DBStudentInfoPath
}
2.2 update_stuCollege_info()
update_stuCollege_info(){
show_stu_info;
echo "请输入要修改信息的学生编号(默认仅可以修改自己的信息):"
read studentNo
export nowLine=0;
stringLine=`grep $studentNo $DBStudentInfoPath`
stuName=`echo "$stringLine" | awk -F ',' '{print $2}'`
stuCollegeNo=`echo "$stringLine" | awk -F ',' '{print $3}'`
studentSay=`echo "$stringLine" | awk -F ',' '{print $4}'`
echo "要更新的学生信息记录为:$stringLine"
echo "请输入新学院编号:"
read newstuCollegeNo
while read line
do
lineStudentNo=${line/,*/}
export nowLine=$(($nowLine+1))
if [ "$lineStudentNo" = "$studentNo" ]; then
{
sed "$nowLine"d $DBStudentInfoPath > $DBStudentInfoPath"_back"
mv $DBStudentInfoPath"_back" $DBStudentInfoPath
echo "$studentNo,$stuName,$newstuCollegeNo,$studentSay" >> $DBStudentInfoPath
echo "更新成功!"
show_stu_info;
}
fi
done<$DBStudentInfoPath
}