ASP.NET2.0数据库入门之SqlDataSource

当使用SqlDataSource控件选择数据时,可以从两个属性:ConnectionString和SelectCommand开始,如下所示:

<asp:SqlDataSource ID="MySourceControlName" Runat="server"

ConnectionString="Server=MyServer ;

Database=Northwind"

SelectCommand=" SELECT Fieldl, [Field With Space] FROM MyTable">

</asp:SglDataSource>

当使用Windows认证时,可以添加两个认证数据。

<asp:SqlDataSource ID="MySourceControlName" Runat="server"

ConnectionString="

Server=MyServer ;

User ID=MyID;

Password=Mypass;

Database=Northwind"

SelectCommand=" SELECT Field1, [Field With Space] FROM MyTable">

</asp:SqlDataSource>

第一个是前面讨论过的连接字符串,第二个是SelectCommand,用来确定将从SQL Server数据库中提取什么信息。在SelectCommand中,可以使用任何符合语法的SQL SELECT语句,包括在上一章或者附录A中讨论的语句。很多SQL Server管理员都不会允许用户直接访问表。数据库管理员将会在SPROC上创建一些受限制的许可。或者,创建表的视图用来提供表的一部分数据或者对表中可以修改的数据进行限制。连接至视图的语法如下:

SelectCommand="SELECT * from MyView">

如果表、查询、SPROC或者视图的名称中有空格字符,则应当使用方括号将整个名称包含起来,如下所示:

SelectCommand="SELECT * from [My View] "

您可能已经注意到了GridView中的Filter属性并且想知道它与在数据源SelectCommand中使用WHERE子句之间有何不同。筛选只用于某些缓冲情况,我们将会在第15章中介绍。

有了连接字符串和SelectCommand,就可以创建从SQL Server使用数据的页面了。

试一试#1—— SqlDataSource简单示例

在本练习中,应该以网格(表)格式从Northwind的SQL版本显示产品的GridView。可以以添加DataSource控件和数据绑定控件的技术开始,这样就能够创建最简单的源代码。然后将会使用一种更快速的开发技术(拖放列名称)。

(1) 请确认已经安装了SSE(如第1章所述),包括样本数据库Northwind。本练习还将涉及到SQL Server或者MSDE。

(2) 创建文件夹ch03,在其中创建一个名为TIO-1-SqlSimple-1.ASPX的文件。通过Menu:View|Toolbox(Ctrl+Alt+X)显示工具箱。请注意工具箱有一个可以展开的Data区域。

(3) 在Design视图中,从工具箱的Data区域中拖放一个SqlDataSource控件至页面。在便捷任务面板上,将数据源配置为新的连接。输入服务器名称(local)\SQLExpress并使用Windows NT认证。选择名为Northwind的数据库并测试连接。单击OK结束。您将会自动返回至Data Source Configuration对话框,单击Next。对本例来说,不需要在配置文件中保存连接字符串;单击Next。选择“Specify columns from a table”并选择表名Products。在Columns列表中,单击ID、Name和Unit Price。单击Next和Test Query,然后单击Finish。这样就完成添加DataSource控件了。

(4) 添加GridView数据绑定控件。在便捷任务面板中,选择SqlDataSource,然后关闭便捷任务面板。这样就创建了数据绑定控件。保存并运行页面,页面如下:

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

"http://www.w3.org/TR/xhtmlll/DTD/xhtmlll.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Ch03-Tio#l-SqlSimple-verl</title>

</head>

<body>

<h2>

Chapter 3 TIO #1 SqlSimple verl

</h2>

<form id="forml" runat="server">

<div>

<asp:SqlDataSource ID="SqlDataSourcel" Runat="server"

ProviderName="System.Data.SqlClient"

ConnectionString="Server=(local)\SQLExpress;

Integrated Security=True;

Database=Northwind;

Persist Security Info=True"

SelectCommand="SELECT [ProductID], [ProductName], [UnitPrice] FROM[Products]">

</asp:SqlDataSource>

<asp:GridView ID="GridViewl" Runat="server"

DataSourceID="SqlDataSourcel"

DataKeyNames="ProductID"

AutoGenerateColumns="False">

<Columns>

<asp:BoundField ReadOnly="True" HeaderText="ProductID"

InsertVisible="False" DataField="ProductID"

SortExpression=" ProductID" ></asp: BoundField>

<asp:BoundField HeaderText="ProductName"DataField="ProductName"

SortExpression="ProductName"></asp:BoundField>

<asp:BoundField HeaderText="UnitPrice" DataField="UnitPrice"

SortExpression="UnitPrice"></asp:BoundField>

(0)

相关推荐

  • aspx中的mysql操作类sqldatasource使用示例分享

    复制代码 代码如下: <%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtmlll/DTD/xhtmlll.dtd"> <script runat="server"> </script> <html xmlns="h

  • 在ASP.NET 2.0中操作数据之四十四:DataList和Repeater数据排序(三)

    第七步: 在自定义分页的Repeater 里添加排序功能 现在已经完成了自定义分页,我们再来添加排序功能.ProductsBLL类的GetProductsPagedAndSorted方法和GetProductsPaged一样有startRowIndex 和 maximumRows 参数,不一样的是它还多了一个sortExpression 参数.在SortingWithCustomPaging.aspx里使用GetProductsPagedAndSorted方法我们需要: 将ObjectDataS

  • 在ASP.NET 2.0中操作数据之四十七:用SqlDataSource控件插入、更新、删除数据

    导言: 正如在教程概述插入.更新和删除数据里讨论的那样,GridView控件内置更新和删除功能,而DetailsView和FormView控件不仅具有编辑和删除功能,还有插入功能.我们不要写一行代码就可一将这些功能直接应用于一个数据源控件.在这篇教程里,我们指出ObjectDataSource控件最好与GridView, DetailsView和FormView控件一起使用,才更好的实现插入.更新和删除功能.对SqlDataSource控件来说,同样如此! 对ObjectDataSource控件

  • 在ASP.NET 2.0中操作数据之三十九:在DataList的编辑界面里添加验证控件

    导言 到目前为止的讨论编辑DataList的教程里,没有包含任何验证用户的输入,即使是用户非法输入- 遗漏了product的name或者负的price- 会导致异常.在前面一章里我们学习了如何在DataList的UpdateCommand事件处理中添加异常处理代码,以便在出现异常时捕捉它并显示友好的错误信息.然而理想的编辑界面应该包含验证控件,用来在第一时间里阻止用户输入一些非法数据. 本章我们将学习在DataList的EditItemTemplate里添加验证控件从而提供一个更安全的编辑界面,

  • 在ASP.NET 2.0中操作数据之四十三:DataList和Repeater数据排序(二)

    接着上篇介绍,上篇已经通过DropDownList简单实现了排序的功能,下面让我们看看带有分页的排序该怎么做. 第五步: 为使用默认分页的DataList添加排序的支持 打开PagingSortingDataListRepeater文件夹里的SortingWithDefaultPaging.aspx和Paging.aspx 页.在Paging.aspx 页里查看源文件.将图8里选择的文本复制下来,然后粘贴到SortingWithDefaultPaging.aspx 页里的<asp:Content

  • 在ASP.NET 2.0中操作数据之四十五:DataList和Repeater里的自定义Button

    导言 在前面关于DataList 和Repeater 的7章教程里,我们分别创建了只读和可以编辑删除的例子.为了让DataList有编辑和删除的功能,我们在ItemTemplate里添加了一些button,当点击时,引起postback,并根据button的CommandName属性激发相关的事件.例如,添加一个CommandName为"Edit"的button,在postback时会激发EditCommand事件,如果CommandName为"Delete"则激发

  • 在ASP.NET 2.0中操作数据之四十二:DataList和Repeater数据排序(一)

    导言 DataList和Repeater数据分页里我们学习了如何在DataList里添加分页功能.我们在ProductsBLL类里创建了一个名为GetProductsAsPagedDataSource的方法,它返回一个PagedDataSource对象.当绑定到DataList或Repeater时,他们将只显示请求页的数据.这个技术和GridView,DetailsView,FormView的内置分页功能原理差不多. 除了分页外,GridView还提供了内置的排序功能,而DataList和Rep

  • 在ASP.NET 2.0中操作数据之四十一:DataList和Repeater数据分页

    导言 分页和排序是显示数据时经常用到的功能.比如,在一个在线书店里搜索关于ASP.NET 的书的时候,可能结果会是成百上千,而每页只列出十条.而且结果可以根据title(书名),price(价格),page count(页数),author name(作者)等来排序.我们在分页和排序报表数据 里已经讨论过, GridView, DetailsView, 和FormView 都有内置的分页功能,仅仅只需要勾一个checkbox就可以开启.GridView 还支持内置的排序. 不幸的是,DataLi

  • 在ASP.NET 2.0中操作数据之四十:自定义DataList编辑界面

    导言 DataList的编辑界面由EditItemTemplate里的标记语言和web控件定义.在目前为止所做的DataList编辑功能的例子里,编辑界面都只包含TextBox.在前面一章里,我们通过添加验证控件来增加了用户体验,提高了可用性. EditItemTemplate可以包含除了TextBox以外的很多控件,比如DropDownList, RadioButtonList, Calendar等.和使用TextBox一样,使用这些控件自定义编辑界面时,步骤如下: 为EditItemTemp

  • 在ASP.NET 2.0中操作数据之四十六:使用SqlDataSource控件检索数据

    导言 到目前为止,我们探讨的教程是由表现层,业务逻辑层和数据访问层构成的层次体系结构.数据访问层和业务逻辑层分别在教程第一和第二章提到.在Displaying Data With the ObjectDataSource 这篇教程里,我们探讨了怎样用ASP.NET 2.0的新控件--ObjectDataSource控件在表现层展示数据. 本教程到目前为止用这种层次结构来处理数据.然而绕过这种体系结构,通过直接把数据查询和业务逻辑放在Web页面上,也可以达到直接在ASP.NET页面上访问,插入,更

  • SqlDataSource 链接Access 数据

    还的我耗费了好长时间,研究如何用AccessDataSource链接有密码的access数据库,也没有成功. <appSettings/> <connectionStrings> <add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\good.mdb;Persist Security I

随机推荐