zoukankan      html  css  js  c++  java
  • 完整增删改查,数据库字符串攻击

    复习一下,基础的增删改查,

      增一条信息,删一条信息。改一条信息

    询问语句

    Console.WriteLine("请输入你的学号");
    string xuehao = Console.ReadLine();
    Console.WriteLine("请输入你的姓名");
    string name = Console.ReadLine();
    Console.WriteLine("请输入你的班级");
    string banji= Console.ReadLine();
    Console.WriteLine("请输入你的成绩");
    decimal chengji = decimal .Parse(Console.ReadLine());

    先连接数据库

    SqlConnection conn = new SqlConnection("server=(local);database=kulianjie;user=sa;pwd=123");

    创建数据库操作
    SqlCommand cmd = conn.CreateCommand();

    添加一条数据
    cmd.CommandText = "insert into student values('"+xuehao+"','"+name+"','"+banji+"','"+chengji+"')";

    修改一条数据

    cmd.CommandText = "upder student set=name='" + name + "',banji='" + banji + "',chengji='" + chengji + "'where xuehao='" + xuehao + "'";

    删除一条数据

    cmd.CommandText = "delect from student where xuehao='" + xuehao + "'";

    执行数据库
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();

    查所有信息

    SqlConnection conn = new SqlConnection("server=(local);database=kulianjie;user=sa;pwd=123");
    SqlCommand cmd = conn.CreateCommand();

    查询所有信息
    cmd.CommandText = "select *from student";
    conn.Open();

    执行数据库
    SqlDataReader dr = cmd.ExecuteReader();

    一行一行读取
    while (dr.Read())
    {
    Console.Write(dr[0], dr[1] , dr["banji" ], dr["chengji"]);
    }


    conn.Close();

    完整修改和查询:
    中间变量运用。

    1、先查

    2、执行操作

    ----------------------------------------------------
    SQL数据库字符串注入攻击:
    需要使用cmd.Parameters这个集合
    占位符: @key 代表这个位置用这个占位符占住了

    Parameters这个集合中将此占位符所代表的数据补全

    cmd.Parameters.Clear(); --添加占位符数据之前,要清空此集合
    cmd.Parameters.Add("@pwd", Pwd); --占位符内容填充
    cmd.Parameters.Add("@nname",Nname);
    cmd.Parameters.Add("@sex", (Sex=="男")?"1":"0");
    cmd.Parameters.Add("@bir", Birthday);
    cmd.Parameters.Add("@nat", Nation);
    cmd.Parameters.Add("@uname", Uname);
    -----------------------------------------------------------------
    实体类,数据访问类:

    实体类:封装
    封装一个类,类名与数据库表名一致
    成员变量名与列名一致,多一个下划线
    成员变量封装完的属性,就会与数据表中的列名一致

    每一行数据都可以存成一个对象,操作这个对象,就相当于对某一行数据进行整体操作

    数据访问类:
    就是将对数据库的一些操作,单独写到一个类中,封成一些方法,等待调用

    结构看起来会非常清晰

  • 相关阅读:
    前端基础之CSS
    前端基础之HTML
    Http状态码解释
    Python操作MySQL
    MySQL忘记root密码的解决办法
    关闭MySQL数据库的几种方法
    prompt更改MySQL登陆后的提示符
    JQ例子:旋转木马
    JQ属性和css部分测试
    JQ选择器逐一测试
  • 原文地址:https://www.cnblogs.com/lulichao/p/5870190.html
Copyright © 2011-2022 走看看