zoukankan      html  css  js  c++  java
  • 完整修改和删除以及防字符串注入攻击

    完整修改:

     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);
  • 相关阅读:
    discuz 门户功能增加自定义keywords字段
    discuz的门户文章页中增加百度分享代码
    discuz 门户页模板中的keywords和description不能正常显示
    windows下python的安装
    discuz 取消门户首页url中的portal.php
    网站被跳转到联通域名无法访问页面
    DedeCms密码解密[转]
    last error : SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate veri
    [转]解决MySQL出现大量unauthenticated user的问题
    ImageUtils
  • 原文地址:https://www.cnblogs.com/mazhijie/p/5608313.html
Copyright © 2011-2022 走看看