ADO.NET五大对象

ADO.NET五大对象:客户端操作数据库服务器。所谓的数据的增删差改。
1.连接(Connection):连接制定的服务器。
  给定连接字符串。对于我们的SQL SERVER来说可以有WINDOWS身份验证和SQL身份验证。一般用SQL身份验证,就需要指定:数据源(就是对应的数据库服务器的实例名称)、数据库、SQL身份验证用户名、密码


using System.Data.SqlClient;  //导入命名空间


SqlConnection con=new SqlConnection("Data Source=.;Database=aa;uid=sa;pwd=123");  //连接字符串


con.Open(); //打开连接
con.Close(); //关闭连接


//aa代表数据库


2.命令(Command):执行相应的SQL命令。在实例化的时候,需要指定:连接对象、sql语句。


SqlCommand cmd=new SqlCommand("select count(*) from 用户 where 用户名='"+textBox1.Text+"' and 密码='"+textBox2.Text+"'",con);
int i=(int)cmd.ExecuteScalar();
//SqlCommand这个类有三个执行的实例方法,ExecuteScalar():执行指定SQL语句并返回结果集中第一行第一列的数据,返回值就是object类型。、ExecuteNonQuery():执行SQL语句并返回所影响的行数(不能返回一张表)。一般用在修改数据、插入数据和删除数据的SQL语句。
、ExecuteReader():执行SQL语句并返回一个SqlDataReader对象(返回的一个方法),插入,返回的结果(返回是一张有结果的表)。有查询有结果


if(i==0)
{                                    
  //登录失败
}
else
{
  //登录成功
}


3.数据阅读器(DataReader):以只进的方式一条一条的读取结果集中的数据。这种读取用在少量的数据的查询中。
//从数据库中读取所有用户表中的用户名,加载到ComboBox控件上。
SqlConnection con = new SqlConnection("Data Source=.;Database=aa;uid=sa;pwd=123");
con.Open();
SqlCommand cmd = new SqlCommand("select 用户名 from 用户", con);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
    comboBox1.Items.Add(dr[0].ToString());
}
con.Close();




4.数据集(DataSet):是由数据表(DataTable)的集合构成。理解为一段查询后的数据的缓冲的存储。一般和数据适配器(DataAdapter)连用。将适配器对应查询出的结果填充到数据集中。然后再数据集中操作。


            DataSet ds = new DataSet(); //定义一个数据集对象
            DataTable dt = new DataTable(); //定义一个数据表对象


            DataColumn dc = new DataColumn("姓名", typeof(string)); //定义一个数据列对象,名称为“姓名”,数据类型为字符串类型
            dt.Columns.Add(dc); //把这个数据列对象添加到数据表的列集合中


            DataColumn dc2 = new DataColumn("性别", typeof(string)); //定义一个数据列对象,名称为“性别”,数据类型为字符串类型
            dt.Columns.Add(dc2); //把这个数据列对象添加到数据表的列集合中


            dt.Rows.Add("aa","男"); //添加数据行
            dt.Rows.Add("bb","女");
            dt.Rows.Add("cc","女");


            ds.Tables.Add(dt); //将数据表添加到数据集的表集合中


            dataGridView1.DataSource = ds.Tables[0]; //设置数据网格显示控件的数据源属性为这个数据集的第一个数据表。最终显示出来。


            //for (int i = 0; i < ds.Tables[0].Rows.Count; i++) //遍历数据集中的第一个数据表有多少行
            //{
            //    comboBox3.Items.Add(ds.Tables[0].Rows[i][0]); //把数据集中的第一个数据表中的每一行的第一列的数据添加到comboBox3的集合中。
            //}  
 
            //comboBox3.DataSource = ds.Tables[0]; //另一种设置方式,直接把数据集的第一个表作为comboBox3的数据源。
            //comboBox3.DisplayMember = "姓名"; //并在显示成员上设置为要显示的列的名称即可。


5.数据适配器(DataAdapter)
SqlConnection con = new SqlConnection("Data Source=.;Database=aa;uid=sa;pwd=123");
con.Open();
SqlDataAdapter sda = new SqlDataAdapter("select 用户名,密码 from 用户", con);
DataSet ds=new DataSet();
sda.Fill(ds);
con.Close(); 
dataGridView1.DataSource = ds.Tables[0];
       


-----------------JM------------------------
ADO.NET五大对象:客户端操作数据库服务器。所谓的数据库增删差改。
1.连接对象(connection):连接指定的服务器
   给定连接字符串。对于我们的SQL SERVER 来说可以有WINDOWS身份验证和SQL身份验证。一般用SQL身份验证,就需要指定:数据源(就是对应的数据库服务器的实例名称)、数据库、SQL身份验证用户名、密码
  using System.Data.SqlClient;           必须导入的命名空间
 
  SqlConnectin con=new SqlConnection("Data Source=.;Database=aa;uid=sa;pwd=123");
  con.Open();   //打开连接
  con.Close();  //关闭连接


 //aa:代表数据库


2.命令(command):执行相应的SQL命令。在实例化的时候,需要指定:连接对象、sql语句。
 
  SqlCommand cmd=new SqlCommand("select count(*) from 用户 where 用户名='"+textBox1.Text+"' and 密码='"+textBox2.Text+"'",con);
  int i=(int)cmd.ExecuteScalar();


  //SqlCommand这个类有三个执行的实例方法,ExecuteScalar():执行指定SQL语句并返回结果集中第一行第一列的数据,返回值就是object类型。、、ExecuteNonQuery():执行SQL语句并返回所影响的行数。一般用在修改数据、插入数据和删除数据的SQL语句,、、ExecuteReader():执行SQL语句并返回一个SqlDataReader对象。
  if(i==0)
   {
      MessageBox.Show("登录失败");
     }
  else
   {
        MessageBox.Show("登录成功");
     }


             cmd.ExecuteNonQuery(); //int类型
            会返回一个SqlDataReader类型的, 类似于在服务器中查询结果的指针. 服务器连接中断就会无法查询.



3.数据阅读器(DataReader):以只进的方式一条一条的读取结果集中的数据,这种读取用在少量的数据的查询中。
  //从数据库中读取所有用户表中的用户名,加载到comboBox控件上。
   SqlConnectin con=new SqlConnection("Data Source=.;Database=aa;uid=sa;pwd=123");
   con.Open();   //打开连接
   SqlCommand cmd=new SqlCommand("select 用户名 from 用户",con);
   SqlDataReader dr=cmd.ExecuteReader();
   while(dr.Read())
   {
      comboBox1.Items.Add(dr[0].ToString());
    }
   con.Close();  //关闭连接


4.数据集(DataSet):是由数据表(DataTable)的集合构成。理解为一段查询后的数据的缓冲的存储。一般和数据适配器(DataAdapter)连用。将适配器对应查询出的结果填充到数据集中。染后再数据集中操作。
  
            DataSet ds = new DataSet();       //定义一个数据集对象
            DataTable dt = new DataTable();   //定义一个数据表对象


           DataColumn dc = new DataColumn("姓名",typeof(string));   //定义一个数据列对象,名称为“姓名”,数据类型为字符串类型

            dt.Columns.Add(dc);  //把这个数据列对象添加到数据表的列集合中

             DataColumn dc2 = new DataColumn("性别", typeof(string)); //定义一个数据列对象,名称为“姓名”,数据类型为字符串类型

            dt.Columns.Add(dc2);  //把这个数据列对象添加到数据表的列集合中


            dt.Rows.Add("aa","男");  //添加数据行
            dt.Rows.Add("bb","女");
            dt.Rows.Add("cc","男");


            ds.Tables.Add(dt);   //将数据表添加到数据集的表集合中
            dataGridView1.DataSource = ds.Tables[0];   //设置数据网格显示控件的数据源属性为这个数据集的第一个数据表,最终显示出来。


             for (int i = 0; i < ds.Tables[0].Rows.Count; i++)   //遍历数据集中第一个数据表有多少行
            {
                comboBox3.Items.Add(ds.Tables[0].Rows[i][0]);    //把数据集中第一个数据表中的每一行的第一列的数据添加到comboBox3的集合中
            }


              //comboBox3.DataSource = ds.Tables[0];     //另一种设置方式,直接把数据集的第一个表作为comboBox3的数据源。


            //comboBox3.DisplayMember = "姓名";          //并在显示成员上设置为要显示的列的名称即可。


5.数据适配器(DataAdapter)
  SqlConnection con=new SqlConnection("Data Source=.;Database=aa;uid=sa;pwd=123");
  con.Open();
  SqlDataAdapter sda=new SqlDataAdapter("select 用户名,密码 from 用户",con);
  DataSet ds=new DataSet();       //定义一个数据集对象
  sda.Fill(ds);                  //执行数据适配器里的查询语句,并将结果填充到数据集ds中
  con.Close();
  dataGridView1.DataSource=ds.Tables[0];  //设置数据网格显示控件的数据源属性为这个数据集的第一个数据表,最终显示出来。




默写作业----------------------------------
 1.登录
   表 用户(用户名,密码)
   textBox1  textBox2
 2.用适配器和数据集对象,从用户表查询出所有的用户信息,包括用户名和密码显示在控件DataGridView1上。
     
 
1. 方法一
  using System.Data.sqlClient;
   
  SqlConnection con=new  SqlConnection("Data Source=.;Database=aa;uid=sa;pwd=123");
  con.Open();
  SqlCommand cmd=new SqlCommand("select count(*) from 用户 where 用户名='"+textBox1.Text+"' and  密码='"+textBox2.Text+"'",con);
   int i=(int)cmd.ExecuteScalar();
   if(i==0)
   {MessageBox.Show("登录失败");}
   else
    {MessageBox.Show("登录成功");}
  con.Close();


 
  方法二


     SqlConnection con=new  SqlConnection("Data Source=.;Database=aa;uid=sa;pwd=123");
    con.Open();
    SqlCommand cmd=new SqlCommand("select 用户名 from 用户 where 用户名='"+textBox1.Text+"' and  密码='"+textBox2.Text+"'",con);
    SqlDataReader sdr=cmd.ExecuteReader
   if(sdr.Read())
   {MessageBox.Show("登录成功");}
   else
    {MessageBox.Show("登录失败");}
  con.Close();


 
2. 方法一
    SqlConnection con=new  SqlConnection("Data Source=.;Database=aa;uid=sa;pwd=123");
    con.Open();
    SqlDataAdapter  sda=new  SqlDataAdapter("select 用户名,密码 from 用户",con);
    DataSet ds=new DataSet();
    sda.Fill(ds);
    con.Close();
    dataGridView1.DataSource=ds.Tables[0];




  方法二
     SqlConnection con=new  SqlConnection("Data Source=.;Database=aa;uid=sa;pwd=123");
    con.Open();
    SqlDataAdapter  sda=new  SqlDataAdapter("select 用户名,密码 from 用户",con);
    DataTable dt=new DataTable();
    sda.Fill(dt);
    con.Close();
    dataGridView1.DataSource=dt;

▲----------------------
  SqlCommand对象>>>>
  SqlCommand cmd=new SqlCommand(strSql,con);
  SqlDataReader dr=cmd.ExecuteReader();
   
   //执行ExecuteNonQuery方法执行


   cmd.ExecuteNonQuery();
    
  SqlDataReader对象----------------------
  //读取数据阅读器中的数据记录


    dr.Read();
 
  //数据阅读器中一条记录的address字段
   dr["address"]


SqlDataAdapter对象-----------------
//创建SqlCommand对象cmd,来解析执行T-SQL
  SqlDataAdapter sda=new SqlDataAdapter(strSQL,con);
  
  //创建数据集对象,用来存放数据


   DataSet ds=new DataSet();
 //调用Fill()方法将查询到的数据填充到DataSet对象
    sda.Fill(ds);


DataSet对象---------------------
   //获取数据集中第一条记录的(name字段值)
   ds.Tables[0].Rows[0]["name"]


//全选,全不选
   if(cb_all.Checked)
     {
              foreach(RepeaterItem item in Repeater1.Items)
               {
                    CheckBox cb=(CheckBox).item.FindControl("cb_one");
              }
      }


连接数据库

       string connstr = "Data Source=LONG-PC\\LONG;Initial Catalog=Blog;User ID=long;Password=longtao";
       string cmdstr = "select 姓名,年龄 from Test";
 
      SqlConnection conn = new SqlConnection(connstr);
      conn.Open();
 
     SqlCommand cmd = new SqlCommand();
     cmd.CommandText = cmdstr;
     cmd.Connection = conn;
     SqlDataAdapter adap = new SqlDataAdapter(cmd);
     DataSet ds = new DataSet();
    adap.Fill(ds);
    dataGridView1.DataSource = ds.Tables[0].DefaultView;





  
     string connstr = "Data Source=LONG-PC\\LONG;Initial Catalog=Blog;User ID=long;Password=longtao";
    string cmdstr = "select 姓名,年龄 from Test";

    SqlConnection conn = new SqlConnection(connstr);
     conn.Open();
 
     SqlCommand cmd = new SqlCommand();
     cmd.CommandText = cmdstr;
     cmd.Connection = conn;
     SqlDataAdapter adap = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();
      adap.Fill(ds);
      dataGridView1.DataSource = ds.Tables[0].DefaultView;

===================================

DataSet:



-==DataAdapter


===


===========

dataReader:


=====

数据集:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值