ADO.net增删改查

ADO.net

是一门数据库访问技术,通过程序操作数据库.

主要应用的类库有三个:

(1)Connection 类

和数据库交互,必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。Connection对象会被Command对象使用,这样就能够知道是在哪个数据源上面执行命令。

(2)Command对象

成功与数据建立连接后,就可以用Command对象来执行查询、修改、插入、删除等命令;Command对象常用的方法有ExecuteReader()方法、ExecuteScalar()方法和ExecuteNonQuery()方法;插入数据可用ExecuteNonQuery()方法来执行插入命令。

(3)DataReader类

许多数据操作要求开发人员只是读取一串数据。DataReader对象允许开发人员获得从Command对象的SELECT语句得到的结果。考虑性能的因素,从DataReader返回的数据都是快速的且只是“向前”的数据流。这意味着开发人员只能按照一定的顺序从数据流中取出数据。

还有另外三个不常用的

(1)DataSet对象

(2)DataAdapter类

(3)DataTable类

引用:

Uusing System.Data.SqlClient;

1.基础的增删改

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //连接
            string sql = "server=.;database=ADO;user=sa;pwd=123;";
            //数据库连接类
            SqlConnection conn = new SqlConnection(sql);
            //数据库操作类
            SqlCommand cmd = conn.CreateCommand();
            //数据库操作语句
            cmd.CommandText = "insert into Nation values ('N001','汉族')";
            //开门
            conn.Open();
            //执行操作
            cmd.ExecuteNonQuery();
            //关门
            conn.Close();
            Console.ReadLine();
        }
    }
}
基础增删改

2.数据库的查询

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //连接
            int a = 0;
            string sql = "server=.;database=ADO;user=sa;pwd=123;";
            //数据库连接类
            SqlConnection conn = new SqlConnection(sql);
            //数据库操作类
            SqlCommand cmd = conn.CreateCommand();
            //数据库操作语句
            cmd.CommandText = "select *from Users";
            //开门
            conn.Open();
            //执行操作           
            SqlDataReader dr = cmd.ExecuteReader();
            //方法一(必要掌握,复杂,)
            if (dr.HasRows)
                {
                  dr.Read();//执行一边往下走一行,这里是所有行的数据
                   string.birthday=dr.[0].Tostring();
                }
            //方法二(简单)
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                   string.birthday=dr.["Birthday"].Tostring();
                }
            }
            Console.WriteLine(birthday);
            //关门
            conn.Close();
            Console.ReadLine();
        }
    }
}
数据库查询

3.完善的增删改

与基础的增删改相比较,差别只是多了针对用户输入的增删改数据进行了进一步的提示

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //连接
            string sql = "server=.;database=ODA;user=sa;pwd=123;";
            //数据库连接类
            SqlConnection conn = new SqlConnection(sql);
            //数据库操作类
            SqlCommand cmd = conn.CreateCommand();
            //数据库操作语句,更改语句内容实现基础增删改
            cmd.CommandText = "insert into Users values('zhouba','1234','周八',2,'1994-5-5','N004');";
            //开门
            conn.Open();
            //执行操作,
            int a=cmd.ExecuteNonQuery();//返回int类型受影响的行数
            if (a > 0)
                Console.WriteLine("数据执行成功!" + a + "行受影响");
            else
                Console.WriteLine("数据执行失败,请检查有无错误");
            //关门
            conn.Close();
            Console.ReadLine();
        }
    }
}
完善的增删改

4.升级版完善的增删改

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            bool hs = false;
            string sql = "server=.;database=ODA;user=sa;pwd=123;";
            SqlConnection conn = new SqlConnection(sql);
            SqlCommand cmd = conn.CreateCommand();
            Console.Write("请输入要更改的UserName名称");
            string s = Console.ReadLine();
            //判断是否存在该Ids名称
            cmd.CommandText = "select *from Users where UserName='" + s + "';";//select *from Users where Usersname='xxxx';
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                hs = true;
            }
            conn.Close();
            if (!hs)
            {
                Console.WriteLine("该UserName不存在");
            }
            else
            {
                Console.WriteLine("该UserName存在,将要开始修改");
                Console.Write("请输入更改后的[password]:");
                string pw = Console.ReadLine();
                Console.Write("请输入更改后的NickName:");
                string nn = Console.ReadLine();
                Console.Write("请输入更改后的性别:");
                string xb = Console.ReadLine();
                int bit;
                if (xb == "")
                    bit = 1;
                else
                    bit = 0;
                Console.Write("请输入更改后的生日:");
                string bir = Console.ReadLine();
                Console.Write("请输入更改后的民族:");
                string na = Console.ReadLine();
                cmd.CommandText = "update Users set [password]='" + pw + "',NickName='" + nn + "',Sex=" + bit + ",Birthday='" + bir + "',Nation='" + na + "'where UserName='" + s + "';";
                conn.Open();
                int a = cmd.ExecuteNonQuery();
                conn.Close();
                if (a > 0)
                    Console.WriteLine("修改成功");
                else
                    Console.WriteLine("修改失败,请检查后重新输入");
            }
            Console.ReadLine();
        }
    }
}
升级版增删改
原文地址:https://www.cnblogs.com/zhangxin4477/p/6732970.html