ADO.NET

ADO.NET是什么?

ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口。

作用?

通过程序来操作数据库

连接?

Connection 类

和数据库交互,必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。Connection对象会被Command对象使用,这样就能够知道是在哪个数据源上面执行命令。
与数据库交互的过程意味着必须指明想要执行的操作。这是依靠Command对象执行的。开发人员使用Command对象来发送SQL语句给数据库。Command对象使用Connection对象来指出与哪个数据源进行连接。开发人员能够单独使用Command对象来直接执行命令,或者将一个Command对象的引用传递给DataAdapter,它保存了一组能够操作下面描述的一组数据的命令。[3] 

Command对象

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

DataReader类

许多数据操作要求开发人员只是读取一串数据。DataReader对象允许开发人员获得从Command对象的SELECT语句得到的结果。考虑性能的因素,从DataReader返回的数据都是快速的且只是“向前”的数据流。这意味着开发人员只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果开发人员需要操作数据,更好的办法是使用DataSet。[3] 
 
 
 
 string sql = "server=.;database=dat0216;user=sa;pwd=123;";   
               //  .是服务器名     database 连接数据库名   user 登入用户名  pwd 登入密码
            SqlConnection conn = new SqlConnection(sql);
            //数据库类  最好用conn起名  
            SqlCommand cmd = conn.CreateCommand();
            //sql操作命令           createcommand创建命令
            cmd.CommandText = "insert into users values('zhangsan','1234','李三',1,'2003-1-1','N002');";
            // 命令 是数据库的语句  insert into users values('zhangsan','1234','李三',1,'2003-1-1','N002')

            conn.Open();
            //数据库开门
            cmd.ExecuteNonQuery();
           //操作命令
            conn.Close();
            //数据库关门
            Console.ReadLine();

简易的删除数据

string sql = "server=.;database=dat0216;user=sa;pwd=123;";
            SqlConnection conn = new SqlConnection(sql);
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = "delete from users where Username='lisi';";
                conn.Open();
            int a=cmd.ExecuteNonQuery();
            //受影响的行数   赋值给a
            if(a>0)
                Console.WriteLine("删除成功,本次共删除"+a+"行。");
            else
                Console.WriteLine("删除失败,本次没有删除任何数据。");
            conn.Close();
            Console.ReadLine();
View Code

简易的修改数据

bool hs = false;
            string sql = "server=.;database=dat0216;user=sa;pwd=123;";
            SqlConnection conn = new SqlConnection(sql);
            SqlCommand cmd = conn.CreateCommand();
            
            Console.Write("请用户输入要修改的用户名:");
            string name = Console.ReadLine();
            //查询此用户
            cmd.CommandText = "select * from Users where UserName='"+name+"';";

            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            //如果有这一行数据
            if (dr.HasRows)
                    hs = true;
            conn.Close();

            if (!hs)
                Console.WriteLine("输入的用户名错误,没有此用户名");
            else
            {
                Console.WriteLine("已查询到此用户名,请进行修改内容:");
                Console.Write("请输入要修改后的密码:");
                string passward = Console.ReadLine();
                Console.Write("请输入要修改后的昵称:");
                string nickname = Console.ReadLine();
                Console.Write("请输入要修改后的性别:");
                string sex = Console.ReadLine();
                Console.Write("请输入要修改后的生日:");
                string birthday = Console.ReadLine();
                Console.Write("请输入要修改后的民族:");
                string nation = Console.ReadLine();
                cmd.CommandText = "update users set Passward='"+passward+"', NickName='"+nickname+"',Sex='"+sex+"',Birthday='"+birthday+"',Nation='"+nation+"' where UserName='"+name+"';";
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
            }

            Console.ReadLine();
View Code
原文地址:https://www.cnblogs.com/zhangwei99com/p/6735857.html