• ADO.NET 增、删、改、查


    ADO.NET:
    数据访问技术

    就是将C#和MSSQL连接起来的一个纽带

    可以通过ADO.NET将内存中的临时数据写入到数据库中
    也可以将数据库中的数据提取到内存中供程序调用

    所有数据访问技术的基础

    连接数据库基本格式:
    需要两个类
    1、数据库连接类 SqlConnection
    2、数据库操作类 SqlCommand


    //1、连接数据库
    //写连接字符串,立马就要想到有4点要写完,1、连接哪台服务器,2、连接哪个数据库,3、连接用户名,4、密码
    string sql = "server=.;database=Data0720;user=sa;pwd=123;"; //编写连接字符串
    //实例化数据连接类,将连接字符串写到构造函数中,让这个类构造完毕后就连接到指定的服务器和数据库上
    SqlConnection conn = new SqlConnection(sql);

    //2、设置要对数据库中的表的操作
    //通过已经连接的数据库创建一个对此库的操作类
    SqlCommand cmd = conn.CreateCommand();

    //编写TSQL语句
    cmd.CommandText = "delete from Users where UserName='" + Uname + "'";

    //3、执行操作
    conn.Open(); //数据库连接打开
    cmd.ExecuteNonQuery(); //数据库操作执行
    conn.Close();//数据库连接关闭

    增删改:
    SqlConnection
    SqlCommand
    cmd.ExecuteNonQuery();

    查:
    SqlConnection
    SqlCommand
    SqlDataReader
    cmd.ExecuteReader()

    查询基本格式:
    //数据库连接类(连接字符串)
    SqlConnection conn = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123");
    //数据库操作类,通过上面的连接类构建出来
    SqlCommand cmd = conn.CreateCommand();
    //查询语句
    cmd.CommandText = "select *from Users";

    conn.Open();//数据库连接开启
    SqlDataReader dr = cmd.ExecuteReader();//调用此方法用来查询 !!!!

    //每执行一次这个方法,指针就向下走一行,读取下面一行的数据,如果下面没有数据了,那么会返回一个false
    while (dr.Read())
    {
    //如果读出来数据,那么当前读到的这一行数据就放在dr这个对象里,可以使用两种方式将数据取出来
    //1、使用索引 - dr[索引值]
    Console.WriteLine(dr[0] + " " + dr[1] + " " + dr[2] + " " + (((bool)dr[3]) ? "男" : "女") + " " + Convert.ToDateTime(dr[4]).ToString("yyyy年MM月dd日") + " " + dr[5]);
    //2、使用列名 - dr["列名"]
    Console.WriteLine(dr["UserName"] + " " + dr["Nation"]);
    }
    conn.Close();//数据库连接关闭

    //数据库中存放的数据并不一定能够直接拿出来给用户看,那么就需要C#段将数据加工以后,再展现出来

    例如:

    Console.WriteLine(dr[0] + " " + dr[1] + " " + dr[2] + " " + (((bool)dr[3]) ? "男" : "女") + " " + Convert.ToDateTime(dr[4]).ToString("yyyy年MM月dd日") + " " + dr[5]);

    一、增加

    using System;
    using System.Collections.Generic;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 增加
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.Write("请输入用户名:");
                string Uname = Console.ReadLine();
                Console.Write("请输入密码:");
                string Pwd = Console.ReadLine();
                Console.Write("请输入用户昵称:");
                string Nname = Console.ReadLine();
                Console.Write("请输入性别:");
                bool Sex = Convert.ToBoolean(Console.ReadLine());//转换为bool类型
                Console.Write("请输入生日:");
                DateTime Birthday = Convert.ToDateTime(Console.ReadLine());//转换为时间类型
                Console.Write("请输入民族:");
                string Nation = Console.ReadLine();
    
    
                ////1、连接数据库
                //string sql = "server=.;database=Data0720;user=sa;pwd=123;";//编写连接字符串
                //SqlConnection conn = new SqlConnection(sql);
    
                ////2、设置数据库中需要修改的数据操作
                //SqlCommand cmd = conn.CreateCommand();
                //cmd.CommandText = "insert into Users values('"+Uname+"','"+Pwd+"','"+Nname+"','"+(Sex?"1":"0")+"','"+Birthday+"','"+Nation+"')";//双引号内是SQL添加数据的语句
    
                ////3、执行操作
                //conn.Open();
                //cmd.ExecuteNonQuery();
                //conn.Close();
    
    
                //练习操作
                //1、连接数据库
                string sql = "server=.;database=Data0720;user=sa;pwd=123";//编写连接字符串
                SqlConnection conn = new SqlConnection(sql);
    
                //2、设置数据库中的表的操作
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = "insert into Users values('"+Uname +"','"+Pwd +"','"+Nname+"','"+(Sex?"1":"0")+"','"+Birthday +"','"+Nation+"')";
    
                //3、执行操作
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
    
    
                //提示一下,看是否添加成功
                Console.WriteLine("您已添加成功!");
    
    
                Console.ReadLine();
            }
        }
    }

    二、删除

    using System;
    using System.Collections.Generic;
    using System.Data.SqlClient;//该命名空间是SqlConnection解析后连接的
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ADO.NET基础_增删
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.Write("请输入要删除的用户名:");
                string Uname = Console.ReadLine();
    
                ////1、连接数据库
                //string sql = "server=.;database=Data0720;user=sa;pwd=123;";//编写连接字符串
                //SqlConnection conn = new SqlConnection(sql);//构造函数,在这里可以重载
    
                ////2、设置要对数据库中的表的操作
                //SqlCommand cmd = conn.CreateCommand();
                //cmd.CommandText = "delete from Users where username='"+ Uname +"'";//双引号内就是SQL中的删除语句
    
                ////3、执行操作
                //conn.Open();
                //cmd.ExecuteNonQuery();
                //conn.Close();
    
    
                //练习操作
                //1、连接数据库
                string sql = "server=.;database=Data0720;user=sa;pwd=123";//编写连接字符串
                SqlConnection conn = new SqlConnection(sql);
    
                //2、设置要对数据库中的表进行的操作内容
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = "delete from Users where username='"+Uname+"'";
    
                //3、执行操作
                conn.Open();//打开通道
                cmd.ExecuteNonQuery();//执行操作
                conn.Close();//关闭通道,通道只有一个,每次用完都要关闭,要不然下次用连接不上
    
    
                //提示一下,看是否删除成功,成功则显示提示语句,不成功则不显示,并报错
                Console.WriteLine("您已删除成功!");
    
    
                Console.ReadLine();
            }
        }
    }

    三、修改

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Data.SqlClient;
    
    namespace 改查
    {
        class Program
        {
        
            static void Main(string[] args)
            {
                ////用户名不可以修改(实际应用中是不能修改的),需要修改什么就写什么
                Console.Write("请输入要修改的用户名:");
                string Uname = Console.ReadLine();
                Console.Write("请输入修改后的密码:");
                string Pwd = Console.ReadLine();
                Console.Write("请输入修改后的性别:");
                string Sex = Console.ReadLine();
                //1、连接数据库
                SqlConnection conn = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123;");//编写连接字符串
                //2、设置修改内容的操作
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = "update Users set [password]='" + Pwd + "',sex='" + Sex +"' where username='" + Uname + "';";
                //3、执行操作
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
    
                //4、提示一下是否修改完成
                Console.WriteLine("您已修改完成!");
    
    
                Console.ReadLine();
            }
        }
    }

    四、查询

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Data.SqlClient;
    
    namespace 查
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("用户名" + "	" + "密码" + "	" + "昵称" + "	" + "性别" + "	" + "生日" + "            " + "民族");
    
                //1、连接数据库
                SqlConnection conn = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123;");
                //2、设置数据库中的表的操作
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = "select * from Users;";
                //3、执行操作
                conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
    
                while (dr.Read())
                {
                    ////如果读出来数据,那么当前读到的这一行数据就放在dr这个对象里面,有两种方式读取
                    ////1、使用索引号:dr[索引号]
                    //Console.WriteLine(dr[0] + "	" + dr[1] + "	" + dr[2] + "	" + (((bool)dr[3]) ? "男" : "女") + "	" + Convert.ToDateTime(dr[4]).ToString("yyyy年MM月dd日") + "	" + dr[5]);
                    //2、使用列名:dr["列名"]
                    Console.WriteLine(dr["username"] + "	" + dr["password"] + "	" + dr["nickname"] + "	" + (((bool)dr["sex"])?"":"") + "	" + Convert.ToDateTime(dr["brithday"]).ToString("yyyy年MM月dd日") + "	" + dr["nation"]);
                }
    
                conn.Close();
    
                Console.ReadLine();
            }
        }
    }

    五、作业:显示信息;请输入你想执行的操作(1添加,2修改,3删除);操作完成后刷新信息表,并可以无限循环执行操作。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Data.SqlClient;//引用这个空间命名
    
    namespace 作业
    {
        class Program
        {
            static void Main(string[] args)
            {
                while (true)
                {
                    //显示信息
                    Console.Clear();//清屏            
                    #region
                    Console.WriteLine("用户名" + "	" + "密码" + "	" + "昵称" + "	" + "性别" + "	" + "生日" + "            " + "民族");
    
                    //实例化,创建类,连接数据库
                    SqlConnection conn = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123;");
                    //设置数据库中的表的操作
                    SqlCommand cmd = conn.CreateCommand();
                    cmd.CommandText = "select * from Users;";
                    //执行操作
                    conn.Open();
                    SqlDataReader dr = cmd.ExecuteReader();
    
                    while (dr.Read())
                    {
                        Console.WriteLine(dr["username"] + "	" + dr["password"] + "	" + dr["nickname"] + "	" + (((bool)dr["sex"]) ? "" : "") + "	" + Convert.ToDateTime(dr["brithday"]).ToString("yyy年MM月dd日") + "	" + dr["nation"]);
                    }
    
                    conn.Close();
                    #endregion
                    Console.Write("请输入您想执行的操作(1.添加  2.修改   3.删除):");
                    string n = Console.ReadLine();
    
                    //添加信息
                    if (n == "1")
                    {
                        Console.Write("请输入您要添加的用户名:");
                        string Uname = Console.ReadLine();
                        Console.Write("请输入您要添加的密码:");
                        string Pwd = Console.ReadLine();
                        Console.Write("请输入您要添加的昵称:");
                        string Nname = Console.ReadLine();
                        Console.Write("请输入您要添加的性别:");
                        bool Sex = Convert.ToBoolean(Console.ReadLine());
                        Console.Write("请输入您要添加的生日:");
                        DateTime Birthday = Convert.ToDateTime(Console.ReadLine());
                        Console.Write("请输入您要添加的民族:");
                        string Nation = Console.ReadLine();
                        //连接数据库
                        SqlConnection coon1 = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123");
                        //设置数据库中的表格的操作
                        SqlCommand cmd1 = coon1.CreateCommand();
                        cmd1.CommandText = "insert into Users values('" + Uname + "','" + Pwd + "','" + Nname + "','" + (Sex ? "1" : "0") + "','" + Birthday + "','" + Nation + "')";
                        //执行操作
                        coon1.Open();
                        cmd1.ExecuteNonQuery();
                        coon1.Close();
                        //提示是否添加成功
                        Console.WriteLine("您已添加成功,请单击刷新信息表!");
                        break;
                    }
                    //修改信息
                    else if (n == "2")
                    {
                        Console.Write("请输入要修改的用户名:");
                        string Uname = Console.ReadLine();
                        Console.Write("请输入修改后的密码:");
                        string Pwd = Console.ReadLine();
                        Console.Write("请输入修改后的性别:");
                        string Sex = Console.ReadLine();
                        //1、连接数据库
                        SqlConnection conn2 = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123;");//编写连接字符串
                        //2、设置修改内容的操作
                        SqlCommand cmd2 = conn2.CreateCommand();
                        cmd2.CommandText = "update Users set [password]='" + Pwd + "',sex='" + Sex + "' where username='" + Uname + "';";
                        //3、执行操作
                        conn2.Open();
                        cmd2.ExecuteNonQuery();
                        conn2.Close();
    
                        //4、提示一下是否修改完成
                        Console.WriteLine("您已修改完成,请单击刷新信息表");
                    }
                    //删除信息
                    else if (n == "3")
                    {
                        Console.Write("请输入要删除的用户名:");
                        string Uname = Console.ReadLine();
                        //1、连接数据库
                        SqlConnection conn3 = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123");
    
                        //2、设置要对数据库中的表进行的操作内容
                        SqlCommand cmd3 = conn3.CreateCommand();
                        cmd3.CommandText = "delete from Users where username='" + Uname + "'";
    
                        //3、执行操作
                        conn3.Open();//打开通道
                        cmd3.ExecuteNonQuery();//执行操作
                        conn3.Close();//关闭通道,通道只有一个,每次用完都要关闭,要不然下次用连接不上
    
    
                        //提示一下,看是否删除成功,成功则显示提示语句,不成功则不显示,并报错
                        Console.WriteLine("您已删除成功,请单击刷新信息表!");
    
                    }
                }
    
    
                Console.ReadLine();
            }
        }
    }

    1、添加

    2、修改

    3、删除

  • 相关阅读:
    Think 框架漏洞利用
    提权篇之简单介绍和exp利用过程
    webshell提权20种思路
    黑吃黑,大神实操带你破解菠菜平台
    知道这20个正则表达式,能让你少写1,000行代码
    Spring与Quartz的整合实现定时任务调度
    关于MySQL的wait_timeout连接超时问题报错解决方案
    SpringMVC 400 Bad Request 问题
    java 细说String
    最详细的Log4j使用教程
  • 原文地址:https://www.cnblogs.com/juyangchao12/p/5866648.html
Copyright © 2020-2023  润新知