zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    20155327 2017-2018-2 《Java程序设计》第9周学习总结
    20155327《Java程序设计》第八周学习总结
    实验二 Java面向对象程序设计
    20155327 李百乾 Exp4 恶意代码分析
    20155327结对编程练习
    20155327第七周学习总结
    2017-2018-1 20155310 20155337 实验五 通讯协议设计
    # 2017-2018-1 20155337《信息安全系统设计基础》第十三周学习总结
    # 20155337 2017-2018 1 课上测试、课下作业、实验
    # 课下测试ch02
  • 原文地址:https://www.cnblogs.com/zhangwei99com/p/6735857.html
Copyright © 2011-2022 走看看