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是什么?

Oracle专家高级编程学习笔记( 二)

Oracle体系结构的3个主要组件:1.文件:组成数据库实例的5个文件(参数文件,控制文件,数据文件,临时数据文件,重做日志文件)2.系统全局区域SGA( System Global Area): J...
  • fanyamin
  • fanyamin
  • 2004年12月12日 20:31
  • 1891

ASP.NET MVC3 高级编程学习笔记——入门

最早就接触过asp.net mvc 框架了,从1.0开始到现在的4.0,感觉是时候拥抱mvc了。 本篇主要内容 Model—View—Controller介绍ViewModel模式ASP.NE...
  • langal1212
  • langal1212
  • 2013年09月23日 14:02
  • 633

Python 高级编程笔记之类别

目录: 子类化内建类型 访问超类中的方法-super 描述符 & 属性 元编程 主要内容:1.子类化内建类型# -*- coding:utf-8 -*- class Folder(list): ...
  • Temanm
  • Temanm
  • 2016年03月16日 14:42
  • 2341

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

第一章 ASP.NET应用程序设置1.1 Global.asaxGlobal.asax用来负责高级别的应用程序事件,如应用程序的开始和结束、绘画状态的开始和结束等。Global.asax文件中的事件:...
  • beewxh
  • beewxh
  • 2005年05月10日 01:59
  • 709

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

第二章 ASP.NET应用程序配置前言:    主要是对Web.config文件进行介绍。    程序开发结束后,需要在服务器上部署该应用程序。部署包括安装程序(?)和配置程序。ASP.NET站点的配...
  • beewxh
  • beewxh
  • 2005年05月10日 02:07
  • 1407

《C#高级编程(第7版)》学习笔记

欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: -Markdown和扩展Markdown简洁的语法 - 代码块高...
  • onlytiger1100
  • onlytiger1100
  • 2017年03月10日 09:12
  • 277

《unix环境高级编程》 读书笔记 (1)

近来读书,做些笔记,来年好翻翻。 本文所使用的操作系统为 CentOS7.0,如果不想装双系统的可以装虚拟机,可以参考这里: http://blog.csdn.net/alex_my/arti...
  • alex_my
  • alex_my
  • 2014年09月05日 12:01
  • 2411

C++高级编程(第3版)

C++高级编程(第3版) 《C++高级编程(第3版) 是设计和构建C++应用程序的实用指南,代码丰富,并根据C++14版本做了全面更新。本书强调良好编程风格的重要性,阐述如何设计可充分利用C...
  • chengying332
  • chengying332
  • 2015年06月03日 13:16
  • 1276

unix环境高级编程第三版源代码编译及使用

估计好多学习unix/linux的程序员都知道有这么一本书,最近笔者也开始膜拜膜拜此书,在编译源代码的时候,遇到了一些问题,现在在这里做下总结,加深自己的印象,或许也有遇到此问题的同仁,可以参考参考!...
  • aboboo5200
  • aboboo5200
  • 2017年03月01日 07:47
  • 2005

Shell高级编程学习笔记(基础篇)

目录 1.shell脚本的执行方法   2.shell的变量类型   3.shell特殊变量 4.变量子串的常用操作   5.批量修改文件名实践    6.变量替换 7.在shell中计算字符串...
  • Erica_1230
  • Erica_1230
  • 2017年05月07日 15:14
  • 742
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET数据库高级编程笔记(3)
举报原因:
原因补充:

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