ADO.Net(上) Connection对象、Command对象、DataReader对象

来源:互联网 发布:sql语句去掉重复记录 编辑:程序博客网 时间:2024/05/09 14:57

一、ADO.NET

 

ADO.Net 由 .NET FrameWork数据库提供程序 和 DataSet对象 组成

1. .NET FrameWork数据库提供程序
    Connection对象
    Command对象
    DataReader对象
    DataAdapter对象

2. DataSet对象:
   
DataTableCollection 表集合 
    DataTable 表 
    DataRowCollection 行集合
    DataColumnCollection 列集合

    ConstraintCollection 约束集合 
    DataRelationCollection 关系集合

 

如图:

 
 
 
二.建数据库
1.建立SQL数据库:Test_DB
2.建表:Table_T1
   表中的字段如下:
   id           int类型(自增主键)
   name     varchar(50)
   age        int

三.Connection对象
1.引用命名空间
using System.Data.SqlClient;  //sql数据库命名空间
using System.Data.OleDb; //Access数据库/sql等
using System.Data.OracleClient;
//解决方案资源管理器-->引用-->右键-->添加引用-->.NET-->System.Data.OracleClient
2.拖按钮Button控件到设计视图-->双击添加代码
3.代码
private void button1_Click(object sender, EventArgs e)
{
  SqlConnection con = new SqlConnection();
  con.ConnectionString = "server=.;database=Test_DB;uid=sa;pwd=;";
      try
      {
                con.Open();
                MessageBox.Show("数据库打开");
                con.Close();
      }
      catch
      {
                MessageBox.Show("打开数据库失败!");
      }
}
 //注意:打开后一定要con.Close();
private void button2_Click(object sender, EventArgs e)
{
   using (SqlConnection con = new SqlConnection("server=.;database=Test_DB;uid=sa;pwd=;"))
   {
            try
           {
                 con.Open();
                 MessageBox.Show("数据库打开");
            }
            catch
           {
                  MessageBox.Show("打开数据库失败!");
            }
     }
}
        //注:con只有在using大括号{} 中有效。using会自动回收资源

 

 

四.Command对象

 

using (SqlConnection con = new SqlConnection("server=.;database=Test_DB;uid=sa;pwd=;"))
{
        try
        {
                    con.Open();
                    MessageBox.Show("数据库打开");


                    string sql = "insert into Table_T1 values('张三',5)";
                    string sql1 = "update Table_T1 set age=6 where name='张三'";
                    string sql2 = "delete from Table_T1 where name='张三'";


                    SqlCommand cmd = new SqlCommand();
                    cmd.CommandText = sql;
                    cmd.Connection = con;
                    cmd.ExecuteNonQuery();   //增,删,改操作
         }
         catch
         {
                    MessageBox.Show("打开数据库失败!");
         }
}

 

 

五.DataReader对象

using (SqlConnection con = new SqlConnection("server=.;database=Test_DB;uid=sa;pwd=;"))
 {
         con.Open();
         SqlCommand cmd = new SqlCommand("select [name] from Table_T1",con);
         SqlDataReader sdr = cmd.ExecuteReader();    //执行查询,返回一个SqlDataReader对象
          while (sdr.Read())     //sdr.Read()前进到下一条记录
          {
                listBox1.Items.Add(sdr.GetValue(0).ToString());    //GetValue(0) 第一列值
          }
  }

 

//cmd.ExecuteScalar();   //执行查询返回第一行第一列

原创粉丝点击