using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; namespace 增删改查综合练习 { class Program { /* * 需求: * 1、用户输入代号,查询一条数据 * 2、输出提示:1删除 2修改 3添加 * 输入1:删除这条数据 * 输入2:让用户输入修改的其他值,输入完成修改这条数据 * 输入3:让用户输入所有的列,保存到数据 */ /// <summary> /// 民族名称转换名族代号 /// </summary> /// <param name="nationName">民族名称</param> /// <returns>民族代号</returns> public static string NationToCode(string nationName) { SqlConnection conn = new SqlConnection("server=.; database=mydb; user=sa; pwd=ray; "); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "select *from Nation where Name=@nationName"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@nationName",nationName); conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); string nationCode = "n001"; if (dr.HasRows) { dr.Read(); nationCode = Convert.ToString(dr[0]); } conn.Close(); return nationCode; } /// <summary> /// 民族代号转换成名称 /// </summary> /// <param name="nationCode">民族代号</param> /// <returns>民族名称</returns> public static string CodeToNation(string nationCode) { string nation = "汉族"; SqlConnection conn = new SqlConnection("server=.; database=mydb; user=sa; pwd=ray; "); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "select *from Nation where Code=@nationCode"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@nationCode",nationCode); conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { dr.Read(); nation = Convert.ToString(dr[1]); } conn.Close(); return nation; } static void Main(string[] args) { while (true) { //1、用户输入代号,查询数据 Console.WriteLine("请输入要查询的编号:"); string code = Console.ReadLine(); SqlConnection conn = new SqlConnection("server=.; database=mydb; user=sa; pwd=ray; "); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "select *from Info where Code=@code"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@code", code); conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { string gender = Convert.ToString(dr["Sex"]) == "True" ? "男" : "女"; int age = DateTime.Now.Year - Convert.ToDateTime(dr["Birthday"]).Year; string birthday = Convert.ToDateTime(dr["Birthday"]).ToString("yyyy年MM月dd日"); Console.WriteLine
("查询数据为: " + dr["Code"] + " " + dr["Name"] + " "
+ gender + " " + CodeToNation(Convert.ToString(dr["Nation"]))
+ " " + birthday+" "+age+"岁"); } //2、用户输入操作 1删除 2修改 3添加 while (true) { Console.WriteLine("请输入要执行的操作:1删除 2修改 3添加"); string n = Console.ReadLine(); #region 1、删除 if (n == "1") { cmd.CommandText = "delete from Info where Code=@code"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@code",code); dr.Close(); int delete=cmd.ExecuteNonQuery(); if (delete > 0) { Console.WriteLine("删除成功,按任意键刷新数据"); Console.ReadKey(); Console.Clear(); //刷新数据 Console.WriteLine("=================刷新数据================="); cmd.CommandText = "select *from Info"; SqlDataReader dr1 = cmd.ExecuteReader(); if (dr1.HasRows) { while (dr1.Read()) { string genderSC = Convert.ToString(dr1["Sex"]) == "True" ? "男" : "女"; int age = DateTime.Now.Year - Convert.ToDateTime(dr1["Birthday"]).Year; string birthday = Convert.ToDateTime(dr1["Birthday"]).ToString("yyyy年MM月dd日"); Console.WriteLine ("编号:{0} 姓名:{1} 性别:{2} 民族:{3} 生日:{4} 年龄:{5}岁" ,dr1["Code"],dr1["Name"], genderSC,CodeToNation(Convert.ToString(dr1["Nation"])),birthday,age); } } else { Console.WriteLine("刷新失败"); } } else { Console.WriteLine("删除失败"); } break; } #endregion #region 2、修改 if (n == "2") { Console.WriteLine("请输入要修改的姓名:"); string nameXG = Console.ReadLine(); Console.WriteLine("请输入要修改的性别:"); bool genderXG = Convert.ToBoolean(Console.ReadLine()=="男" ? true:false); Console.WriteLine("请输入要修改的民族:"); string nationXG = Console.ReadLine(); Console.WriteLine("请输入要修改的生日:"); string birthdayXG = Console.ReadLine(); cmd.CommandText = "update Info set Name=@name,Sex=@gender,Nation=@nationCode,Birthday=@birthday where Code=@code"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@code",code); cmd.Parameters.AddWithValue("@name",nameXG); cmd.Parameters.AddWithValue("@gender",genderXG); cmd.Parameters.AddWithValue("@nationCode",NationToCode(nationXG)); cmd.Parameters.AddWithValue("@birthday",birthdayXG); dr.Close(); int nXG=cmd.ExecuteNonQuery(); if (nXG > 0) { Console.WriteLine("修改成功,按任意键刷新数据"); Console.ReadKey(); Console.Clear(); //刷新数据 Console.WriteLine("=================刷新数据===================="); cmd.CommandText = "select *from Info"; SqlDataReader dr1 = cmd.ExecuteReader(); if (dr1.HasRows) { while (dr1.Read()) { string gender = Convert.ToString(dr1["Sex"]) == "true" ? "男" : "女"; int age = DateTime.Now.Year - Convert.ToDateTime(dr1["Birthday"]).Year; string birthday = Convert.ToDateTime(dr1["Birthday"]).ToString("yyyy年MM月dd日"); Console.WriteLine (" 编号:{0} 姓名:{1} 性别:{2} 民族:{3} 生日:{4} 年龄:{5}岁" , dr1["Code"], dr1["Name"], genderXG, CodeToNation(Convert.ToString(dr1["Nation"])), birthday, age); Console.WriteLine(); } } else { Console.WriteLine("刷新失败"); } } else { Console.WriteLine("修改失败"); } break; } #endregion #region 3、添加 if (n == "3") { Console.WriteLine("请输入要添加的编号:"); string codeTJ = Console.ReadLine(); Console.WriteLine("请输入要添加的姓名:"); string nameTJ = Console.ReadLine(); Console.WriteLine("请输入要添加的性别:"); bool genderTJ = Convert.ToBoolean(Console.ReadLine()=="男"?true:false); Console.WriteLine("请输入要添加的民族:"); string nationTJ = Console.ReadLine(); Console.WriteLine("请输入要添加的生日:"); DateTime birthdayTJ = Convert.ToDateTime(Console.ReadLine()); cmd.CommandText = "insert into Info values(@codeTJ,@nameTJ,@genderTJ,@nationTJ,@birthdayTJ)"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@codeTJ", codeTJ); cmd.Parameters.AddWithValue("@nameTJ", nameTJ); cmd.Parameters.AddWithValue("@genderTJ", genderTJ); cmd.Parameters.AddWithValue("@nationTJ", NationToCode(nationTJ)); cmd.Parameters.AddWithValue("@birthdayTJ", birthdayTJ); dr.Close(); int nTJ=cmd.ExecuteNonQuery(); if (nTJ > 0) { Console.WriteLine("添加成功,按任意键刷新数据"); Console.ReadKey(); Console.Clear(); //刷新数据 Console.WriteLine("==========================刷新数据========================"); cmd.CommandText = "select *from Info"; SqlDataReader dr1 = cmd.ExecuteReader(); if (dr1.HasRows) { while (dr1.Read()) { string gender = Convert.ToString(dr1["Sex"]) == "true" ? "男" :"女" ; int age = DateTime.Now.Year - Convert.ToDateTime(dr1["Birthday"]).Year; string birthday = Convert.ToDateTime(dr1["Birthday"]).ToString("yyyy年MM月dd日"); Console.WriteLine (" 编号:{0} 姓名:{1} 性别:{2} 民族:{3} 生日:{4} 年龄:{5}岁" , dr1["Code"], dr1["Name"], genderTJ, CodeToNation(Convert.ToString(dr1["Nation"])), birthday, age); Console.WriteLine(); } } else { Console.WriteLine("刷新失败"); } } else { Console.WriteLine("添加失败"); } break; } #endregion else { Console.WriteLine("输入错误"); } } break; } else { Console.WriteLine("编号输入不正确"); } conn.Close(); } Console.ReadKey(); } } }