zoukankan      html  css  js  c++  java
  • 网络工作室暑假后第一次培训资料(ADO.NET创建访问数据集)整理

    转眼时间很快,还有两天,8天假期的黄金周放假就要结束了。学校出去旅游或者回家的同都陆陆续续的回学校了。假期中自己本来是想要回家的,但是最后还是取消了这个计划。原因有二,第一就是放假回家坐车的人实在太多,第二就是家里也没什么事,自己呢也不想家(特别想回家),所以就留在了学校。

    前三天什么也没干,就是纯粹的玩。但是想想开学后就要开始给11级的同学培训了,所以就把资料提前准备一下。

    安排的培训主要有三次大概内容如下:

    1)ADO.NET的数据及的知识,主要是为了讲SQlHelper数据库访问通用类做铺垫

    2)SQL Server的存储过程/分页,怎样通过ADO.NET调用存储过程/什么是表连接查询,多表查询,等一些数据库的知识

    3)要简单的介绍一下三层架构的知识,这个对于开发大型项目和团队开发还是必须了解的,想的是做一个例子,让他们实际的看一看利弊,但是要想充分的理解三层架构的思想,基本的面相对象的知识是必须有的。还有就是网站开发过程中一些常用的JS,JQuery插件的使用。

    下面的就是第一次培训内容的资料整理。

    因为是访问数据库的知识,先把数据库中表的结构个字段展现出来,如图:

    表的情况就是这个样子。

    在实际的开发过程中程序员对数据库的操作主要是查询操作,而且不是直接操作的数据表,而是由DBA根据程序员的需要而创建的视图,程序员根据T-SQL语言操作视图。

    ADO.NET对数据库的两种操作方式:

    1)连接查询  2)非连接查询

    首先要知道几个对象:connection ,command

    1)连接查询使用的就是连接查询,在对数据库进行操作的时候,始终保持对数据库的连接。相对于数据集的操作方式,操作效率高。

    Datareader对象就是完成该操作的对象。

    在使用过该对象后,应该立即调用connection对象的close方法关闭数据库连接。

    备注:或者使用commandbehavior.Closeconnection()对象关闭数据库连接。

    Commandbehavior是枚举类型。

    实例演示,首先在配置文件中创建好数据库连接字符串的节点

    1   <!--在配置文件中配置了数据库连接字符串-->
    2   <connectionStrings>
    3     <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=iLeague;Integrated Security=True"/>
    4   </connectionStrings>

    l具体的对数据库的操作看下面的代码演示:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Web;
     4 using System.Web.UI;
     5 using System.Web.UI.WebControls;
     6 
     7 using System.Data;
     8 using System.Data.SqlClient;
     9 using System.Configuration;
    10 
    11 public partial class _Default : System.Web.UI.Page 
    12 {
    13     //首先引入Configuration命名空间,然后声明全局的strConnection的全局变量,读取配置文件中的数据库连接字符串
    14     string  strConString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    15 
    16     protected void Page_Load(object sender, EventArgs e)
    17     {
    18 
    19         ShowData();
    20         //Response.Write(con.State);
    21     }
    22 
    23     public void ShowData()
    24     {
    25         SqlConnection con = new SqlConnection(strConString);
    26         //SqlCommand cmd = new SqlCommand("select * from T_Activity",con);
    27         SqlCommand cmd = con.CreateCommand();
    28         cmd.CommandText = "select * from T_Activity where id=2";
    29         con.Open();
    30         SqlDataReader reader=cmd.ExecuteReader();
    31 
    32         //可以使用CommandBehavior这个枚举类型在完成数据库操作后自动关闭数据库连接
    33        // SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    34         if(reader.Read())
    35         {
    36 
    37             this.Label1.Text=reader[1].ToString();
    38             //this.Label1.Text = reader["activityName"].ToString();
    39         }
    40 
    41         con.Close();
    42         reader.Dispose();
    43         
    44     }
    45 }

     这样就完成了ADO.NET对数据库的连接式的查询。

    下面来看看非连接查询

    ADO.NET对数据库的非连接查询

    1)这里需要介绍三个对象dataadapter,dataset,datatable

    dataAdapter对象也称为数据适配器对象。 Dataadapter对象使用connection对象连接数据源,使用数据库命令的command对象执行SQl操作将检索出的数据送往数据集对象Dataset,或者将数据集中的数据编辑过后再次送往数据库。

    数据适配器将数据填入数据集时调用Fill()方法,语句:

    Dataadapter.Fill(datatable);//直接填充表

    或者

    Dataadapter.Fill(dataset,“例子表”)//填充dataset数据集中的“例子表”

    完成后自动关闭数据库连接。如果填充前数据库是打开的,则在完成填充后,要把数据库连接仍旧大概,根据需要是否要关闭或则打开数据库。

    Dataadapter调用Fill方法时,将使用与之相关的命令组件执行SQl语句将检索出的数据添加到Dataset对象中的datatable对象中(如果datatable对象不存在,则自动创建该对象),或者直接填充到datatable的实例中。

    执行SQl时候,必须保持与数据库进行连接有效。但是数据库连接是否打开则不是必需的,如果数据库连接是关闭的,则自动打开检索数据,完成后,

    完成后自动关闭数据库连接。如果填充前数据库是打开的,则在完成填充后,要把数据库连接仍旧大概,根据需要是否要关闭或则打开数据库。

    DataSet对象

     DataSet对象也称数据集对象。DataSet对象用于表示那些存储在内存中的数据,它相当于内存中的一个数据库,他可以包括多个DataTable对象。DataSet对象主要用于管理存储在内存中的数据及对数据的断开操作。

    由于DataSet对象提供的是非连接数据库的数据源,这样减轻了数据库及网络的资源。

    看下面的代码演示:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Web;
     4 using System.Web.UI;
     5 using System.Web.UI.WebControls;
     6 
     7 using System.Data;
     8 using System.Data.SqlClient;
     9 using System.Configuration;
    10 
    11 public partial class DataAdapter和DataSet对象的使用 : System.Web.UI.Page
    12 {
    13     //首先引入Configuration命名空间,然后声明全局的strConnection的全局变量,读取配置文件中的数据库连接字符串
    14     string strConString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    15 
    16     protected void Page_Load(object sender, EventArgs e)
    17     {
    18         ShowData1();
    19     }
    20 
    21     /// <summary>
    22     /// 第一种填充数据集的方法
    23     /// </summary>
    24     public void ShowData1()
    25     {
    26         SqlConnection con = new SqlConnection(strConString);
    27         SqlCommand cmd = new SqlCommand("select * from T_Activity where id=2", con);
    28         //实例化DataAdapter对象,并且将数据库操作命令传递给数据源
    29         SqlDataAdapter adapter = new SqlDataAdapter(cmd);
    30 
    31         //实例化DataTable对象
    32         DataTable table = new DataTable();
    33         //将数据适配器对象DataAdapter对象操作数据库返回的数据,填充到DataTable中
    34         adapter.Fill(table);
    35         //读取Datatable中的数据
    36 
    37        
    38         Response.Write(table.Rows[0]["id"].ToString());
    39     }
    40 
    41     /// <summary>
    42     /// 第二种填充数据集的方法
    43     /// </summary>
    44     public void ShowData2()
    45     {
    46         SqlConnection con = new SqlConnection(strConString);
    47 
    48         //实例化DataAdapter对象,根据SqlDataAdapter对象的重载将数据库操作命令,传递给数据源
    49         SqlDataAdapter adapter = new SqlDataAdapter("select * from T_Activity where id=2", con);
    50 
    51         DataSet Ds = new DataSet();
    52         //数据适配器将数据填入数据集中的T_Activity表
    53         adapter.Fill(Ds, "T_Activity");
    54         //填充数据到DataTable
    55         DataTable table = Ds.Tables["T_Activity"];
    56         Response.Write(table.Rows[0]["id"].ToString());
    57     }
    58 }

    第三个对象就是DataTable对象

    DataTable对象

    DatatTable是ADO.NET库中的核心对象,有行也有列。

    主要包括DataRow和DataColumn,分别代表行和列。

    1)数据行(DataRow)

    数据行是给定数据表中的一行数据,或者说是数据表中的一条记录

    提取数据表中的行的语句:

    DataRow  Dr=dt。Rows[n];

    其中:DataRow代表数据行类,Dr代表数据行对象,dt是数据表对象。n代表的是行序号,并且从0开始。

    2)数据列(DataColumn)

    数据表中的数据列(字段或者属性)定义了表的结构。

    某列的值需要在数据行的基础上进行,

    string  dc=dr.Column[“字段名”].ToString();

    或者string  dc=dr.Column[i].ToString();//i表示对应列的索引

    具体的访问数据库的代码,看下面:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Web;
     4 using System.Web.UI;
     5 using System.Web.UI.WebControls;
     6 
     7 using System.Data;
     8 using System.Data.SqlClient;
     9 using System.Configuration;
    10 
    11 public partial class Datatable对象的使用 : System.Web.UI.Page
    12 {
    13     //首先引入Configuration命名空间,然后声明全局的strConnection的全局变量,读取配置文件中的数据库连接字符串
    14     string strConString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    15 
    16     protected void Page_Load(object sender, EventArgs e)
    17     {
    18         ShowData();
    19     }
    20 
    21     //用来显示数据
    22     public void ShowData()
    23     {
    24         SqlConnection con = new SqlConnection(strConString);
    25         SqlCommand cmd = new SqlCommand("select * from T_Activity ", con);
    26 
    27         SqlDataAdapter adapter = new SqlDataAdapter(cmd);
    28         DataTable table = new DataTable();
    29         //填充数据集中的table
    30         adapter.Fill(table);
    31 
    32         //使用DataRow对象访问数据表中索引行为第5行的数据行
    33         DataRow Dr=table.Rows[4];
    34         //根据数据行对象访问所在行的对应索引列为“activityName”所对应的值
    35         string strActivityName=Dr["activityName"].ToString();
    36 
    37         Response.Write(strActivityName);
    38 
    39     }
    40 }

    这样就完成了ADO.NET 中所有创建数据集,访问数据集。

     

  • 相关阅读:
    学习总结:CSS(二)块级与行级元素特性、盒模型、层模型、BUG与BFC、浮动模型
    学习总结:CSS(一)定义方式、选择器、选择器权重
    html基础知识总结
    js学习总结:DOM节点二(dom基本操作)
    Javascript的作用域和闭包(一)
    js学习总结:DOM节点一(选择器,节点类型)
    jQuery源码解析对象实例化与jQuery原型及整体构建模型分析(一)
    正则表达式基于JavaScript的入门详解
    JavaScript深度克隆(递归)
    电子警察【思想】
  • 原文地址:https://www.cnblogs.com/yisuowushinian/p/2712458.html
Copyright © 2011-2022 走看看