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


    }

}

 

 

 

 

 

 

 

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

posted on 2020-03-05 09:36  Tanqurey  阅读(111)  评论(0编辑  收藏  举报