完整修改:

 1 //1、接收用户输入进来的学生编号
 2                 Console.Write("请输入要修改的学生编号:");
 3                 string Scode = Console.ReadLine();
 4 
 5                 //2、判断有无此学生
 6                 SqlConnection conn = new SqlConnection("server=.;database=Data0425;user=sa;pwd=123;");
 7                 SqlCommand cmd = conn.CreateCommand();
 8                 cmd.CommandText = "select *from Student where code ='" + Scode + "'";
 9                 conn.Open();
10                 SqlDataReader dr = cmd.ExecuteReader();
11                 //3、有此学生,那么继续修改操作,如果没有,提示无此学生信心,无法修改
12                 if (dr.HasRows)
13                 {
14                     HasStu = true;
15                 }
16                 else
17                 {
18                     HasStu = false;
19                 }
20                 conn.Close();
21 
22                 if (HasStu)
23                 {
24                     Console.WriteLine("已查询到此学生信息,请进行修改:");
25                     Console.Write("请输入更改后的学生姓名:");
26                     string Sname = Console.ReadLine();
27                     Console.Write("请输入更改后的学生性别:");
28                     bool Ssex = Convert.ToBoolean(Console.ReadLine());
29                     Console.Write("请输入更改后的学生生日:");
30                     DateTime Sbirthday = Convert.ToDateTime(Console.ReadLine());
31                     Console.Write("请输入更改后的学生成绩:");
32                     decimal Sscore = Convert.ToDecimal(Console.ReadLine());
33 
34                     cmd.CommandText = "update student set name='" + Sname + "',sex='" + Ssex + "',birthday='" + Sbirthday + "',score=" + Sscore                        + " where code = '" + Scode + "'";
35 
36                     conn.Open();
37                     cmd.ExecuteNonQuery();
38                     Console.WriteLine("修改成功!");
39                     conn.Close();
40                     break;
41                 }
42                 else
43                 {
44                     Console.WriteLine("查无此学生,请重新输入!按任意键继续...");
45                     Console.ReadKey();
46                     Console.Clear();
47                 }
48             }
49 
50             Console.ReadLine();

删除与修改的判断一样,只是吧修改语句改成删除语句。

 

 

 

防止字符串注入攻击:

1 cmd.CommandText = "update student set name=@Sname,sex=@Ssex,birthday=@Sbirthday,score=@Sscore where code = @Scode";//sql语句中用@索引代替本该添加的数  据。
2 cmd.Parameters.Clear();//用之前清空一下集合
3 cmd.Parameters.Add("@Sname", Sname);//向集合内添加数据,前面带@的是索引号,后面是添加的数据,所有类型都可以添加。
4 cmd.Parameters.Add("@Ssex", Ssex);
5 cmd.Parameters.Add("@Sbirthday", Sbirthday);
6 cmd.Parameters.Add("@Sscore", Sscore);
7 cmd.Parameters.Add("@Scode", Scode);

 

posted on 2016-06-22 19:46  马MZJ  阅读(361)  评论(0编辑  收藏  举报