创建一个数据表:
AdoStudent 表名:
Code - 编号:主键 S101 S102 S103
Name - 姓名:
Sex - 性别:男是true,女是false
Birthday - 生日:
Score - 成绩:decimal
要求:
程序一开启, 把所有的学生信息列出来:
学号 姓名 性别 生日 成绩
S101 张三 男 1999-1-1 99.8
...
请输入要进行的操作:1-添加,2-修改,3-删除:1
添加成功后,重新刷新显示最新数据
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Collections;//引入数据库命名空间 namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //建立 数据库连接类 SqlConnection conn = new SqlConnection("server=.;database=student;user=sa;pwd=123"); //建立 数据库操作类 SqlCommand com = conn.CreateCommand(); while (true) { //显示数据,查询开始 Console.WriteLine("学号 名字 性别 生日 成绩"); com.CommandText = "select *from adostudent"; //开启数据库连接通道 conn.Open(); //读取数据,数据读取类 SqlDataReader de = com.ExecuteReader(); if (de.HasRows) { while (de.Read()) { Console.WriteLine(de[0].ToString() + " " + de[1].ToString() + " " + (Convert.ToBoolean(de[2]) ? "男" : "女") + " " + Convert.ToDateTime(de[3]).ToString("yyyy年MM月dd日") + " " + Convert.ToDecimal(de[4]).ToString("0.##")); } } //关闭数据库连接通道 conn.Close(); //查询结束 Console.Write("请输入要进行的操作(1-添加,2-修改,3-删除):"); int c = Convert.ToInt32(Console.ReadLine()); #region 添加 if (c == 1)//添加开始 { //自动生成一个学生的编号 ArrayList arr = new ArrayList(); com.CommandText = "select *from adostudent"; conn.Open(); de = com.ExecuteReader(); if (de.HasRows) { while (de.Read()) { string abc = de["code"].ToString().Substring(1); arr.Add(abc); } } conn.Close(); arr.Sort(); int maxarr = Convert.ToInt32(arr[arr.Count - 1]); string endarr = "s" + (maxarr + 1); //让用户输入学生的每一条信息 Console.WriteLine("新学生的编号为:" + endarr); Console.Write("请输入新学生的姓名:"); string name = ""; while (true) { name = Console.ReadLine(); if (name != "") { break; } else { Console.Write("名字不能为空,请重新输入:"); } } bool sex = false; while (true) { Console.Write("请输入学生的性别:"); string ssex = Console.ReadLine(); if (ssex == "男") { sex = true; break; } else if (ssex == "女") { sex = false; break; } else { Console.WriteLine("输入有误"); } } Console.Write("请输入学生的出生日期:"); DateTime birthday = DateTime.Now; while (true) { try { birthday = Convert.ToDateTime(Console.ReadLine()); break; } catch { Console.Write("出生日期输入有误,请重新输入:"); } } Console.Write("请输入学生的分数:"); decimal score = 0; while (true) { score = Convert.ToDecimal(Console.ReadLine()); if (score >= 0 && score <= 100) { break; } else { Console.Write("成绩输入有误,请重新输入:"); } } //添加进数据库 com.CommandText = "insert into adostudent values(‘" + endarr + "‘,‘" + name + "‘,‘" + sex + "‘,‘" + birthday + "‘," + score + ")"; conn.Open(); com.ExecuteNonQuery(); conn.Close(); Console.Clear(); Console.WriteLine("添加成功"); continue; //添加结束 } #endregion #region 修改 else if (c == 2)//修改 { while (true) { bool has = false;//判断是否有这个学生 Console.Write("请输入要修改的学生编号"); string u = Console.ReadLine(); com.CommandText = "select *from adostudent where code=‘" + u + "‘"; conn.Open(); de = com.ExecuteReader(); if (de.HasRows) { //只需要查询一遍有无学号 has = true; } conn.Close(); //修改后的学生信息 if (has) { Console.WriteLine("已查询到此学生信息,请继续修改操作"); //接受用户输入的修改信息 Console.Write("请输入新学生的姓名:"); string name = ""; while (true) { name = Console.ReadLine(); if (name != "") { break; } else { Console.Write("名字不能为空,请重新输入:"); } } bool sex = false; while (true) { Console.Write("请输入学生的性别:"); string ssex = Console.ReadLine(); if (ssex == "男") { sex = true; break; } else if (ssex == "女") { sex = false; break; } else { Console.WriteLine("输入有误"); } } Console.Write("请输入学生的出生日期:"); DateTime birthday = DateTime.Now; while (true) { try { birthday = Convert.ToDateTime(Console.ReadLine()); break; } catch { Console.Write("出生日期输入有误,请重新输入:"); } } Console.Write("请输入学生的分数:"); decimal score = 0; while (true) { score = Convert.ToDecimal(Console.ReadLine()); if (score >= 0 && score <= 100) { break; } else { Console.Write("成绩输入有误,请重新输入:"); } } //修改数据库数据 com.CommandText = "update AdoStudent set Name=‘" + name + "‘,Sex=‘" + sex + "‘,Birthday=‘" + birthday + "‘,Score=" + score + " where Code=‘" + u + "‘"; conn.Open(); com.ExecuteNonQuery(); conn.Close(); break;//结束循环 } else { Console.Write("查无此学生信息,请确定学号是否输入正确:"); } } Console.Clear(); Console.WriteLine("修改成功"); continue; } #endregion else if (c == 3)//删除 { string isok = ""; string delcode = ""; while (true) { //让用户输入要删除的学生编号 bool has = false;//判断是否有这个学生 Console.Write("请输入要删除的学生编号"); delcode = Console.ReadLine(); com.CommandText = "select *from adostudent where code=‘" + delcode + "‘"; conn.Open(); de = com.ExecuteReader(); if (de.HasRows) { has = true; } conn.Close(); //判断有无此学生信息,如果有,那么询问用户是否确定删除 if (has) { Console.Write("已查到此学生信息,是否要删除?输入Y执行删除:"); isok = Console.ReadLine(); break; } else { Console.WriteLine("无此学生信息,输入有误"); } } //执行删除 if (isok.ToUpper() == "Y") { com.CommandText = "delete from adostudent where code=‘" + delcode + "‘"; conn.Open(); com.ExecuteNonQuery(); conn.Close(); Console.Clear(); Console.WriteLine("删除成功"); continue; } } } Console.ReadKey(); } } }
时间: 2024-10-21 06:45:29