• ADO.NET总结


    一、

    1、ADO.Net的数据库根据相关类根据性质分为连接对象和断开对象。

    连接对象:

    (1)Connection:建立与特定数据源的连接,并且打开指定数据库。

    (2)Command:用来访问及更新数据源内容,并且执行数据库的存储过程。

    (3DataReader:包含对象Command返回的数据内容,是一种单向导航,只读的高性能数据流。

    (4)DataAdapter:在数据源与断开对象DataSet之间起到桥梁的作用。

    2、

    (1)SqlConnnection连接字符串属性:

    ConnectionString:这个属性用来设定SqlConnection对象所需的连接字符串;

    SqlConnection mysqlconnection=new SqlConnection();

    SqlConn.ConnectionString=ConnectionString;

    (2)Open(); 打开一条可用的数据源链接;

    (3)Close();关闭与数据源之间的链接;与Close的等效的方法Dispose();方法继承自Component类引用此方法系统不会等待GC收回对象,便会直接将对象所占用的系统资源释放,

    (4)ConnectionState表示当前的连接状态;

    3、Command对象是非常重要的数据访问接口对象

    (1)Command对像有两种重要的功能:传递Sql语句或是要求数据库执行数据库的存储过程。

    CommandText属性代表要传送到后端数据库的Sql语句或是存储过程的名称。

    ExecuteNonQuery()此方法返回Sql语句执行时返回受影响的行数。、

    ExecuteReader();此方法回传一个DataRader对象,包含了Sql 语句从数据库中所取得的数据内容.

    DataReader mydataread=ExecuteReader();

    ExecuteScalar();此方法返回可以返回单一列的返回值(返回第一行的第一列);注意对象的返回值为Object类;

    (2)建立Command对象有以下几种方法:、

    <1>SqlCommand mycommand=new SqlCommand();

    mycommand.Connnection=mysqlconnnection;

    mycommand.CommandText=mysql;

    <2>SqlCommand mycommand=new SqlCommand(mysqlconnnection,mysql);

    <3>SqlCommand mycommand=mysql.CreateCommand();

    (3)Command与Parameter对象

    添加参数方法:

    (1)SqlParameters sqlPata=new SqlParameters();

    sqlPara.SqlDbType=SqlDbType.NChar;

    sqlPara.Size=10;

    SqlPara.ParameterName="@bookid";

    sqlPara.Value=bookID;

    SqlCmd.Paraneters.Add(sqlPara);

    sqlConn.Open();

    (2)

    sqlCmd.Parameters.Add("@bookTitle",SqlDbType.NChar,50).Value=strBookTitle;

    sqlCmd.Parameters.Add("@bookDate",SqlDbType.DateTime).Value=strBookDate;

    4.DataSet数据集

    使用DataSet之前,必须建立DataAdapter对象,并且以其为桥梁取得底层数据源的内容.

    (1)建立DataAdapter对象

    《1》SqlDataAdapter myadapter=new SqlDataAdapter();

    myadapter.SelectCommand=myCmd;

    《2》SqlDataAdapter myadapter=new SqlDataAdapter(myCmd);

    《3》SqlDataAdapter myadapter=new SqlDataAdapter(mysql,myconnnection);

    如果是用Adapter完成简单功能,不需要连接对象,同时也不会直接与Command对象互动,可以将字符串、Sql语句,输入SqlDataAdapter构造参数中,同样得到一个SqlDataAdapter对象. 

    (2)DataSet剖析:

    《1》

    DataTable myDt=myDataSet.Tables[index];   index为索引;

    《2》

    DatSet ds=new DataSet();

    DataTableCollection  myDTC=myDS.Tables;  //返回数据集表的集合

    DataTable myDT=myDTC[0];

    《3》

    DataColumnCollection  myDCC=myDT.Columns;

    DataColumn mydc=mydc[0];获得第一列

    DataRowCollection myDRC=myDT.Rows;  //返回表行的集合

    《4》数据导航、检索

    1)

    public DataRow Find(Object key);

    public  DataRow Find(Object[] keys);

    eg:DataRowCollection drCollection=ds.Tables[0].Rows;

     DataRow dr=drCollection.Find(FindTextBox.Text);

    2)DataRow[] drs=dt.Select(SelectTextBox.Text);

    1DataRow[] drArr = dt.Select("C1='abc'");//查询
    还可以这样操作:
    1DataRow[] drArr = dt.Select("C1 LIKE 'abc%'");//模糊查询
    2DataRow[] drArr = dt.Select("'abc' LIKE C1 + '%'", "C2 DESC");//另一种模糊查询的方法
    3DataRow[] drArr = dt.Select("C1='abc'", "C2 DESC");//排序
    问题又来了,如果要把DataRow赋值给新的DataTable,怎么赋值呢?你可能会想到:

    查询数据比较适合用dt.Select()方法;   注:条件相当于where后面的语句;

    (3)DataView

    (1)属性:public DataView Defaultview(get;)

     DataView dv=ds.Tables[0].Defaultview; 只读属性;

    (2)public virtual  string RowFilter(get;set;)   这个属性可以读写

    dv.RowFilter="bookAuthor='路高旭' ";

    (3)DataView 排序属性

    dv.Sort=" bookAuthor ASC";

    (4)关系型DataTable

    DataRelation是一个ADO.Net类,位于System.Data命名空间,它定义了数据表关系所需的信息,用来表示两个DataTable对象之间的父子关系;

    关联条件约束:

    public DataRelation(

    string relationName,

    DataColumn parentColumn;

    DataColumn childcolumn;

    bool createConstraints;

    )

    DataRelation dRelation=new DataRelation("bookAuthor",columnParent,columnChild);

    ds.Relation.Add(dRelation);
    (5)ForeignKeyConstraint

    eg:

    if(!IsPostBack)

    {

        String connection="";

    ....

    DataColumn  columnParent=ds.Tables["Authores"].Columns["authorID"];

    DataColumn columnchild=ds.Tables["Books"].Columns["bookAuthor"];

    ForeignKeyConstraint fkeyConstraint=new ForeignKeyConstraint("bookAuthor",columnParent,columChild);

    ds.Tables["books"].Constrainsts.Add(fkeyConstraint);

    ds.EnforeConstrrainsts=false;

    }

  • 相关阅读:
    27数据结构与算法分析之---二叉排序树
    26数据结构与算法分析之---线索二叉树
    25数据结构与算法分析之---树与森林
    24数据结构与算法分析之---二叉树的概念
    23数据结构与算法分析之---树的基本概念
    22数据结构与算法分析之---特殊矩阵
    21数据结构与算法分析之---多维数组
    20数据结构与算法分析之---串的模式匹配
    17数据结构与算法分析之---串的类型
    16数据结构与算法分析之---链式队列
  • 原文地址:https://www.cnblogs.com/lykbk/p/ADONET.html
Copyright © 2020-2023  润新知