ASP.NET数据库高级编程笔记(3)

原创 2005年05月10日 02:09:00

第三章 ASP.NET数据库访问——ADO.NET

3.1概述 ActiveX Data Objects

    说了一大堆ADO.NET的优点和与ADO相比的区别,可是具体地说,ADO.NET到底是什么?

    ADO.NET整体结构图:

    Data Source

    V

    Managed Provider(OleDB or SQLClient)

    V

    |-Connection                        

    |-Command                            |-DataRowCollection

    |-DataReader               DataTable +-DataColumnCollection

    |-DataAdapter à DataSet <           |-ConstraintCollection

                             DataRelationCollection (可以看数据库访问相关笔记)

 

    数据访问的两种方式:DataReader直接访问和DataSet+DataAdapter

   

    ADO.NET特性:

    a.可编程性(慢慢来)

    b.互操作性 XML在组件间传送数据集 ADO.NET组件是什么?e 对了,数据集(离线数据表)的表示确是使用XML的。

   

3.2 Connection对象

-------------------------------------

using System.Data.SqlClient;//必要的

 

    string strConn = "server = localhost; uid = sa; pwd = sa; database = testDB";

    SqlConnection conn = new SqlConnection();

     conn.Open();

     //做事情

     conn.Close();

--------------------------------------------

    OleConnction 也是一样

    Ole什么去查,也是一种数据库吧

 

3.3 Command对象

建一个command对象,要两个参数,一个是Sql字符串、一个是数据库连接对象。

-------------------------------------- 

     string sqlCommand = "select * from testTable ";

     SqlCommand comm = new SqlCommand(sqlcommand,conn);

--------------------------------------

Command的几个方法:

     comm.ExecuteNonQuery;不利用DataSet的情况下改变数据库(不用显示)

     comm.ExecuteReader;下一节。

     comm.ExecuteScalar;返回一个单值,多用于查询聚合值,如count()sum().

     comm.ExecuteXmlReader;

 

3.4 DataReader对象

读取调用SqlCommand获得的数据。

--------------------------------------

     SqlDataReader reader = comm.ExecuteReader();

     while(reader.Read())

     {

         Console.WriteLine(reader.GetInt32(0)+","+reader.GetString(1));

     }

     reader.Close();

--------------------------------------

SqlDataReader的几个属性:

     reader.Read();//从查询结果中读取行,读完一行,向下移一行

     reader.GetInt32(0);//返回当前行中指定列的值,参数为列号,如果类型不匹配,则出现一个异常。

     reader.GetValues(values);//当前的整行保存在一个数组中,object[] values

     reader.Close();

 

3.5 DataAdapter对象+ 3.6 DataSet对象

 

    DataSetßSqlDataAdapterà数据库

                    |

                SqlCommand

                sqlConnection

    ------------------------------------

using System.Data;//必要的

 

     SqlDataAdapter Adapter = new SqlDataAdapter();

     Adapter.SelectCommand = comm;

     DataSet ds = new Dataset1();//这个Dataset1是已经定义好了的一个数据集,从项目中添加数据集

     Adapter.Fill(ds,"testTable");//两个参数,一个是数据集,一个是要查的表。

     //Adapter的操作在VS.Net中可以通过向导自动建立。

    ------------------------------------

    其中,SqlDataAdapter有四种命令:

         Adapter.SelectCommand;

         Adapter.InsertCommand;

         Adapter.UpdateCommand;

         Adapter.DeleteCommand;

 

    用到数据集,可以与DataGrid绑定,用来显示数据集中的内容。

    做法是,现建立ASP.NETWeb服务,在WebForm.aspx中拖进一个DataGrid的控件DataGrid1,然后在WebForm.aspx.cspage_Load()事件中,加入以上的ADO.NET语句,最后用函数:

DataGrid1.DataSource = ds.Tables[0].DefaluteView;

DataGrid1.DataBind();

    这些工作也可以通过VS.NET的可视化工具进行设置。

    对数据集的增删该查都是可以直接通过语句进行的。

    比如ds.Tables.[“testTable”].Rows[0][1] = XXX”

 

最后的例子中那个CommandBuilder是什么?

ASP.NET MVC 3 高级编程.part2

  • 2014年10月19日 18:51
  • 20MB
  • 下载

ASP.NET.3.5.SP1高级编程6e.part3.rar

  • 2011年05月05日 08:54
  • 49.48MB
  • 下载

Asp.net事假的执行顺序,非常重要这个算是高级编程部分

ASP.NET 母版页和内容页中的事件 母版页和内容页都可以包含控件的事件处理程序。对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件。控件事...

ASP.NET.Web服务高级编程.part3

  • 2009年03月12日 13:21
  • 6.09MB
  • 下载

ASP.NET+MVC+3+高级编程中文完整版

  • 2016年02月02日 15:24
  • 50MB
  • 下载

ASP.NET 高级编程基础第九篇—Response和Server对象

ASP.NET 高级编程基础第九篇—Response和Server对象 转载自:http://www.cnblogs.com/hanyinglong/archive/2012/08/16/26424...

ASP.NET MVC 3 高级编程中文完整版

  • 2013年11月09日 09:29
  • 54.79MB
  • 下载

ASP.NET 3.5高级编程 第二章

ASP.NET  服务器控件和客户端脚本  2.1.1  服务器控件的类型          ASP.NET提供了两种不同类型的服务器控件;HTML服务器控件Web服务器控件。 2.2.1控...

2.ASP.NET.2.0.高级编程(第4版) [3/7]

  • 2009年12月27日 08:08
  • 17.17MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET数据库高级编程笔记(3)
举报原因:
原因补充:

(最多只允许输入30个字)