• 9_13学习完整修改和查询&&实体类,数据访问类


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

    1、先查

    2、执行操作

    ----------------------------------------------------

    namespace ADO.NET_小项目
    {
        public class sql_delete
        {
            public void delete(string sql)//sql 需要传入连接字符(1.连接哪个服务器,2.哪个数据库,3.连接用户名,4.密码)
            {
                Console.WriteLine("请输入您需要删除的学号" );
                int num = int.Parse(Console.ReadLine());
                selectfan selectfan = new selectfan();//实例化查询是否存在类
                int fan = selectfan.selectf(sql,num);//查询是否存在该学生
                if (fan == 0)//如果查询返回值是0表示不存在该信息
                {
                    Console.WriteLine("查询完毕您要删除的学生不存在,请检查输入是否正确!");
                }
                else
                {
                    Console.WriteLine("查询完毕您确定要删除么?(Y/N)");
                    string s = Console.ReadLine();
                    if (s.ToUpper() == "Y")
                    {
                        //1.建立数据库连接类
                        SqlConnection cnn = new SqlConnection(sql);
                        //2.建立数据库操作类
                        SqlCommand cmd = cnn.CreateCommand();
                        cmd.CommandText = "delete from Student where S_code=" + num + "";//SQL操作语句(此处为删除语句)
                        //3.执行操作语句
                        cnn.Open();//开启数据库连接通道
    
                        cmd.ExecuteNonQuery();//数据库操作执行
    
                        cnn.Close();//关闭数据库连接通道
                        Console.WriteLine("删除成功!");
                    }
                }
            }
        }
    }


    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);
    -----------------------------------------------------------------
    实体类,数据访问类:

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

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

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

    结构看起来会非常清晰


    三层开发:
    界面层 - UI层
    业务逻辑层 - C#代码部分
    数据访问层 - 实体类和数据访问类

  • 相关阅读:
    推荐一系列优秀的Android开发源码
    FlexViewer框架地图控件三问
    dll转移转载
    共享quotedprintable解码(C#)转载
    开源OCR引擎Tesseract
    Qt Features for Hybrid Web/Native Application Development转载
    利用QT进行web与本地混合应用开发转载
    js 中 document.createEvent的用法转载
    用Python多线程抓取并验证代理(转)
    API Hook完全手册
  • 原文地址:https://www.cnblogs.com/xiaobao5161/p/5868968.html
Copyright © 2020-2023  润新知