zoukankan      html  css  js  c++  java
  • 第八章数据访问概述

    数据绑定控件有以下几种:

    BulletedList------------列表项

    CheckBoxList-----------复选框列表

    DropDownList

    ListBox

    ReadioButtonList

    以上控件是通过DataSourceId和DataSource控件进行联系的。

    *** 可以显示一组数据

    GridView 在html表格中显示一组记录。

    DataList(可以在一行中显示多条记录)

    Reapter 使用模板显示一组记录。它不会自动呈现一个html表格。

    *** 以下控件一次显示一个数据项

    detailView 在html表格中显示一个数据项

    Formview 使用模板来显示一个数据项。

    ***

    几种DataSouce的使用方法

    *** SqlConnectionStringBuilder 格式化连接字符串。同时可以修改一些参数。

    Code


    ***

    SqlDataSource可以配置 ProviderName="System.Data.OracleClient",连接oracle数据库,连接Oracle数据请先安装Oracle客户端。

    ***

    在web.config里面保存数据库连接字符串。

    使用<%$ ConnectionStrings:Movies%>在DataSource中表示连接字符串。

    如下

     <asp:SqlDataSource

            id="srcMovies"

            SelectCommand="SELECT * FROM Movies"

            ConnectionString="<%$ ConnectionStrings:Movies %>"

            Runat="server" />

    ***执行存储过程

    SelectCommandType

    UpdateCommandType

    来执行存储过程

    ***表达式过滤器

     <asp:SqlDataSource

            id
    ="srcMovies"

            SelectCommand
    ="SELECT Id,Title,Director,DateReleased 

                FROM Movies
    "

            FilterExpression
    ="Title LIKE '{0}%'"

            ConnectionString
    ="<%$ ConnectionStrings:Movies %>"

            Runat
    ="server">

            
    <FilterParameters>

                
    <asp:ControlParameter Name="Title" ControlID="txtTitle" />    

            
    </FilterParameters>

    </asp:SqlDataSource>


    ***DataSouce检索大量数据

    可以设置 DataSourceMode="DataReader"

    ***处理DataSouce异常

    比如查询异常

    在DataSouce的属性中添加事件处理程序,onselected="selecterror"

    Protected void selecterror(object sender,SqlDataSouceStatusEventArgs e)

    {

    If (e.Exceptin !
    = null)

    e.ExceptionHandled 
    = true;

    //

    }


    第二种方法是在数据绑定事件里进行处理。

    ***取消sql的执行或在执行前加入条件判断

    通过处理以下的事件

    Deleting

    Filtering

    Inserting

    Selecting

    Updating

    在这些事件 参数 e,包含此命令的相关信息。

    ***使用asp.net参数对象

      <UpdateParameters>

              
    <asp:Parameter Name="title" Type="String" Size="100" DefaultValue="untitled" />

              
    </UpdateParameters>

    ***可以使用ControlParameter 利用page对象的属性,来获取page对象的属性。


      
    <InsertParameters>

                
    <asp:ControlParameter Name="IPAddress" ControlID="__page" 

                    PropertyName
    ="IPAddress" />    

    </InsertParameters>


    **** 对于FormParameter

    if (Request.Form["addmovie"] != null)

                    srcmovies.Insert();

    ***对于DataGridView中的连接

    <asp:HyperLinkField 

                DataTextField="Title" 

                DataNavigateUrlFields="Id"

                DataNavigateUrlFormatString

                ="ShowQueryStringParameterDetails.aspx?id={0}" />

    ***通过程序执行SqlDataSource命令

    1.添加ADO.NET参数

    Protected void srcGuestBook_Inserting(object sender,SqlDataSourcecommadEventSr e)

    {

    E.command.parameters.Add(new SqlParameter("@name",User.Identity.Name));

    }

    2.执行insert,update 和 delete命令

     Insert ,delete,update

    protected void btnAddEntry_Click(object sender, EventArgs e)

        {

            srcGuestBook.InsertParameters[
    "Name"].DefaultValue = txtName.Text;

            srcGuestBook.InsertParameters[
    "Comments"].DefaultValue = txtComments.Text;

            srcGuestBook.Insert();

    }


    3.执行select命令

     

       // Get the Id of the image to display

            
    string imageId = context.Request.QueryString["Id"];

            

            
    // Use SqlDataSource to grab image bytes

            SqlDataSource src 
    = new SqlDataSource();

            src.ConnectionString 
    = WebConfigurationManager.ConnectionStrings["Images"].ConnectionString;

            src.SelectCommand 
    = "SELECT Image FROM Images WHERE Id=" + imageId;


            
    // Return a DataView

            

            DataView view 
    = (DataView)src.Select(DataSourceSelectArguments.Empty);

            context.Response.BinaryWrite( (
    byte[])view[0]["Image"]);

    ***如何从数据库把图片显示在网页上,在主页面中做一个链接,链接到一个httphandler,在此处理程序中输出图片。

    ***利用缓存

    EnableCaching

    CacheDuration

  • 相关阅读:
    MVC设计模式
    NET Core 1.0
    《Nginx文件类型错误解析漏洞--攻击演练》 (转)
    AngularJs 基础(60分钟入门) (转)
    每个线程分配一个stack,每个进程分配一个heap;heap没有结构,因此寻址慢(转)
    声明式编程和命令式编程的比较(转)
    Android SimpleAdapter的参数
    RelativeLayout相对布局
    Tomcat、Apache、IIS这三种Web服务器来讲述3种搭建JSP运行环境的方法
    GitHub已将持续集成服务器Janky开源
  • 原文地址:https://www.cnblogs.com/cpsing/p/1322547.html
Copyright © 2011-2022 走看看