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

asp.net|sql|数据|数据库

  当使用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>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
  (5) 关闭浏览器并查看一下Source视图中的页面。请注意,在页面的<form>中间有两个控件。SqlDataSource有ConnectionString和SelectCommand。GridView具有一些与SqlDataSource控件的字段绑定的列。

  (6) 现在可以使用快速的技术添加第二个表了。将页面保存为TIO-1-SqlSim- ple-2.ASPX。切换至Design视图。在菜单中,依次单击View->Database Explorer。在Data Connections上单击右键并选择Add Connection。与上一步骤一样,您将面对连接属性对话框。输入服务器名称(local)\SQLExpress,使用Windows NT安全,并选择名为Northwind的数据库。测试连接并单击OK以关闭对话框。请注意在数据库浏览窗口中的新项目。

  (7) 展开新的(local)\SqlExpress.Northwind.dbo连接,然后展开它的表。展开Categories表。使用Ctrl+单击的方式选择CategoryID、CategoryName和Description字段并将它们拖放至页面的底部。虽然便捷任务面板将为您打开新的GridView,但是可以关闭它。键入F5来运行页面。向下滚动欣赏您仅仅通过从Category表拖放列名就创建出来的页面。以下是版本2的其他源代码。请注意,当拖放列名的时候,您会得到一大组代码,包括在SqlDataSource控件中的一系列参数。

...

<asp:SqlDataSource ID="SqlDataSourcel" Runat="server"
<asp:GridView ID="GridViewl" Runat="server"
...

<asp:GridView ID="GridView2" Runat="server"
DataSourceID="SqlDataSource2" DataKeyNames="CategoryID"
AutoGenerateColumns="False"
EmptyDataText="There are no data records to display.">
<Columns>
<asp:BoundField ReadOnly="True" HeaderText="CategoryID"
DataField="CategoryID"
SortExpression="Category ID"></asp:BoundField>
<asp:BoundField HeaderText="CategoryName"DataField="CategoryName"
SortExpression="CategoryMame"></asp:BoundField>
<asp:BoundField
HeaderText="Description" DataField="Description"
SortExpression="Description"></asp:BoundField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource2" Runat="server"
ProviderName="<%$ ConnectionStrings:AppConnectionString2 . ProviderName %>"
ConnectionString="<%$ ConnectionStrings:AppConnectionString2 %>"
SelectCommand="SELECT[CategoryID],[CategoryName] ,[Desc- ription] FROM
[Categories]"
UpdateCommand="UPDATE[Categories]SET[CategoryName]=@CategoryName,
[Description] = @Description WHERE[CategoryID]=@original_CategoryID"
InsertCommand="INSERT INTO[Categories]([CategoryName],[Description]
VALUES (@CategoryName, @Description)"
DeleteCommand="DELETE FROM [Categories] WHERE [CategoryID] =
@original_CategoryID">
<DeleteParameters>
<asp:Parameter Type="Int32" Name="CategoryID"></asp:Parameter>
</DeleteParameters>
<InsertParameters>
<asp:Parameter Type="String"Name="CategoryName"></asp:Parameter>
<asp: Parameter Type="String" Name="Description"></asp: Parameter>
</InsertParameters>
<UpdateParameters>
<asp:Parameter Type="String" Name="CategoryName"></asp:Parameter>
<asp:ParameterType="String" Name="Description"></asp:Parameter>
<asp:Parameter Type="Int32"Name="CategoryID"></asp:Parameter>
</UpdateParameters>
</asp:SqlDataSource>
  示例说明#1—— SqlDataSource简单示例

  对语法来说,SqlDataSource与我们在第2章所使用的AccessDataSource相差无几。最大的差别就是连接字符串的使用(而不是指定数据文件)。两者相似的意义是对一种控件的知识可以帮助了解其他的数据源控件。

  连接字符串向SqlDataSource传递了三个参数:

  ● SQL Server的名称

  ● 将要使用的数据库的名称或者视图的名称
  
  ● 指示在随后的SSE登录中持续使用Windows认证

  不论是对表还是视图来说,如果其名称中包含空格,就必须将名称包括在方括号之中。第二个参数提供了一个符合标准SQL语法的选择命令。

  当我们转移至版本2时,使用了VWD的完全功能。通过添加连接至Database Explorer,我们让VWD明白数据库的模式。VWD将会显示表和列名。在拖放列名至页面时,VWD将创建包含了支持的DataSource控件在内的GridView。

时间: 2024-09-04 21:49:38

ASP.NET2.0数据库入门之SqlDataSource的相关文章

ASP.NET2.0数据库入门之SQL Server

asp.net|server|sql|数据|数据库 因为Access并不真正为高性能应用程序服务,所以一个希望有多个同时连接用户的站点必须部署一个比Access更适合的数据源.本文将讲述如何从Microsoft SQL Server(一种企业级RDMS)中获取数据. SQL Server完全版包括了三个部分.第一个是引擎,用于实际组织数据以及针对命令响应进行读取和写入操作.第二个是开发人员的工具软件包,用于对数据库进行操作,例如Query Analyzer和Data Transformation

ASP.NET2.0数据库入门之SqlDataSource_实用技巧

当使用SqlDataSource控件选择数据时,可以从两个属性:ConnectionString和SelectCommand开始,如下所示: <asp:SqlDataSource ID="MySourceControlName" Runat="server" ConnectionString="Server=MyServer ; Database=Northwind" SelectCommand=" SELECT Fieldl,

ASP.NET2.0数据库入门之SQL Server_实用技巧

因为Access并不真正为高性能应用程序服务,所以一个希望有多个同时连接用户的站点必须部署一个比Access更适合的数据源.本文将讲述如何从Microsoft SQL Server(一种企业级RDMS)中获取数据. SQL Server完全版包括了三个部分.第一个是引擎,用于实际组织数据以及针对命令响应进行读取和写入操作.第二个是开发人员的工具软件包,用于对数据库进行操作,例如Query Analyzer和Data Transformation Services.最后一个是用于管理数据的工具,包

ASP.NET2.0数据库入门之常见错误

asp.net|错误|数据|数据库 下面的列表提供了学生们在实验安装中所发现的最常见的错误,并且如果您也遇到问题,可以查找看看有没有类似的情况: ·不正确的MDB文件的名称或路径-- 重新检查一下确切的MDB的名称和路径.为了避免路径名称出现错误,可以使用AccessDataSource的Configure Data Source向导中的Browse按钮. ·不正确的MDB文件的访问许可-- 如果MDB文件需要UserID和密码,则必须使用第4章中介绍的技术. ·在没有数据源控件的时候尝试使用数

ASP.NET2.0数据库之SQL Server安全性

asp.net|server|sql|安全|安全性|数据|数据库 SQL Server的安装有两个关于安全模式的选项.它们之间的差别在于由哪一个软件执行认证过程.认证是一个确认将要连接SQL Server的用户身份的过程.一旦执行了认证,SQL Server就能验证这个用户是否具有许可来连接一个被请求的资源,例如一个数据库.如果用户具有连接数据库的许可,那么SQL Server将允许连接请求成功,否则,连接失败.这个验证用户许可的过程还被称为授权. · Windows Authenticatio

请问哪有asp.net2.0的入门教程,从0开始那种,最好有实例,本人新学,谢谢 !

问题描述 RT 解决方案 解决方案二:去微软的webcast看视频吧解决方案三:如果楼主e文听力不错,可以到微软的网站去找相关的视频,讲得非常非常好,可以让你学得很快,而且很精通的那种.解决方案四:http://llslovelf.qupan.com/网友收集整理的.25G很全面的解决方案五:webcast邵志东讲的一个系列入门挺好解决方案六:从网上下个ireaper工具专门下载wencast讲座的解决方案七:学习了解决方案八:<ASP.NET基础教程>解决方案九:到网易那学我很多东西都是在那

asp.net2.0如何加密数据库联接字符串_实用技巧

asp.net2.0如何加密数据库联接字符串 在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下: 1.添加密钥 执行:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp 其中"hnlaw"为密钥名称 2.添加web.config节点 在web.config的<configuration>&l

ASP.NET2.0数据操作之母板页和站点导航

asp.net|导航|数据|站点 导言 通常,用户友好的个性化站点都有着一致的,站点统一的页面布局和导航体系.Asp.net 2.0引入的两个新特性给我们在统一站点的页面布局和站点导航上提供了简单而有效的工具,它们是母板页和站点导航.母板页允许开发者创建统一的站点模板和指定的可编辑区域.这样,aspx页面只需要给模板页中指定的可编辑区域提供填充内容就可以了,所有在母板页中定义的其他标记将出现在所有使用了该母板页的aspx页面中.这种模式允许开发者可以统一的管理和定义站点的页面布局,因此可以容易的

ASP.NET2.0缓存(Cache)技术深入理解_实用技巧

ASP.NET2.0提供了一些新的用于提升程序性能的技术特性,其中,缓存技术是非常重要的一个特性,它提供了一种非常好的本地数据缓存机制,从而有效的提高数据访问的性能. 数据缓存(DataCaching)就是将数据暂存于内存缓存区中(有时也暂存于硬盘缓存区中)的一种技术.当数据本身改变得不怎么频繁,而被访问的频率又比较高时,采用这种技术将大大提高警惕数据访问的效率. 1.网页输出缓存 (1)加显缓存 <%@OutputCacheDuration="60"VaryByParam=no