码迷,mamicode.com
首页 > 其他好文 > 详细

完整修改和删除以及防字符串注入攻击

时间:2016-06-22 20:33:20      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

完整修改:

 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);

 

完整修改和删除以及防字符串注入攻击

标签:

原文地址:http://www.cnblogs.com/mazhijie/p/5608313.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!