zoukankan      html  css  js  c++  java
  • Ado.net01

    ------------恢复内容开始------------

    1、ExcuteReader

    using System;
    using System.Data.SqlClient;
    using System.Text;
    
    namespace Demo
    {
    
        class Program
        {
    
            static void Main()
            {
                // 连接字符串
                string connStr = "server=127.0.0.1;uid=sa;pwd=123456;database=Demo";
                SqlConnection conn = new SqlConnection(connStr);
    
                conn.Open();
                Console.WriteLine("连接完成");
    
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select * from [user]";//搜索用户表
                    using (SqlDataReader reader = cmd.ExecuteReader())//提供一种从 SQL Server 数据库读取行的只进流的方式。此类不能被继承。
                    {
                        while (reader.Read())//读取获取结果集里面所有行信息(Read: 如果存在多个行,则为 true;否则为 false。)
                        {
                            Console.WriteLine("用户名:{0} id:{1} 年龄:{2} 班级id:{3}", reader.GetString(0), reader.GetInt32(1), reader.GetInt32(2), reader.GetInt32(3));
                        }
                    }
                }
    
                conn.Close();
                Console.ReadLine();
            }
    
    
        }
    
    }

    2、sql注入

    这样也登陆成功了

    再代码执行完毕后,由于--的原因,代码被注释

    解决方法,使用变量:

    陷阱:


    当参数为0时,会把它看成sqldbtype参数,所以请改用:

    AddWithValue

    3、dataset(离线的数据集) datatable

    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Text;
    
    namespace Demo
    {
    
        class Program
        {
    
            static void Main()
            {
                // 创建一个内存的数据集
                DataSet ds = new DataSet("ds1");
                // 创建一个内存表
                DataTable dt1 = new DataTable("dt1");
    
                //将表放到上面的数据集内
                ds.Tables.Add(dt1);
    
                // 为表定义一些列
                DataColumn dcName = new DataColumn("Name", typeof(string));
                DataColumn dcAge = new DataColumn("Age", typeof(int));
                DataColumn dcId = new DataColumn("Id", typeof(int));
    
                // 列放进表里
                dt1.Columns.AddRange(new DataColumn[] { dcId, dcName, dcAge });
    
                // 给表添加数据
                dt1.Rows.Add(1, "CCC", 15);
                dt1.Rows.Add(2, "5C5C", 12);
                dt1.Rows.Add(3, "C6C", 13);
    
                foreach(DataTable tb in ds.Tables)
                {
                    foreach(DataRow dataRow in tb.Rows)
                    {
                        Console.WriteLine(dataRow[0] + "--" + dataRow[1] + "--" + dataRow[2]);
                    }
                }
                Console.ReadLine();
            }
    
    
        }
    
    }

    ------------恢复内容结束------------

  • 相关阅读:
    BZOJ 1014 火星人prefix
    BZOJ 1013 球形空间产生器
    BZOJ 1012 最大数
    BZOJ 1011 遥远的行星
    BZOJ 1010 玩具装箱
    BZOJ 1009 GT考试
    BZOJ 1008 越狱
    BZOJ 1007 水平可见直线
    BZOJ 1006 神奇的国度
    Luogu 1450 [HAOI2008]硬币购物
  • 原文地址:https://www.cnblogs.com/Tanqurey/p/12418492.html
Copyright © 2011-2022 走看看