|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
兄弟们,想来你们都看过了昨天的比赛了。我现在的痛苦状跟当时应该差不多。希望本版.net老师不吝赐教,为小弟这一批迷途的羊羔指一条阳光之道!您也知道:学习技术如果只有一个人摸索,那是一件多么痛苦的事情!还有,如果万辛能得名师或长者指点,那又是多么一件幸福和快乐的事情!asp.net|sql|数据|数据库 当利用SqlDataSource控件选择数据时,能够从两个属性:ConnectionString和SelectCommand入手下手,以下所示:
<asp:SqlDataSourceID="MySourceControlName"Runat="server"
ConnectionString="Server=MyServer;
Database=Northwind"
SelectCommand="SELECTFieldl,[FieldWithSpace]FROMMyTable">
</asp:SglDataSource>
当利用Windows认证时,能够增加两个认证数据。
<asp:SqlDataSourceID="MySourceControlName"Runat="server"
ConnectionString="
Server=MyServer;
UserID=MyID;
Password=Mypass;
Database=Northwind"
SelectCommand="SELECTField1,[FieldWithSpace]FROMMyTable">
</asp:SqlDataSource>
第一个是后面会商过的毗连字符串,第二个是SelectCommand,用来断定将从SQLServer数据库中提取甚么信息。在SelectCommand中,可使用任何切合语法的SQLSELECT语句,包含在上一章大概附录A中会商的语句。良多SQLServer办理员都不会同意用户间接会见表。数据库办理员将会在SPROC上创立一些受限定的允许。大概,创立表的视图用来供应表的一部分数据大概对表中能够修正的数据举行限定。毗连至视图的语法以下:
SelectCommand="SELECT*fromMyView">
假如表、查询、SPROC大概视图的称号中有空格字符,则应该利用方括号将全部称号包括起来,以下所示:
SelectCommand="SELECT*from[MyView]"
您大概已注重到了GridView中的Filter属性而且想晓得它与在数据源SelectCommand中利用WHERE子句之间有何分歧。选择只用于某些缓冲情形,我们将会在第15章中先容。
有了毗连字符串和SelectCommand,就能够创立从SQLServer利用数据的页面了。
试一试#1――SqlDataSource复杂示例
在本实习中,应当以网格(表)格局从Northwind的SQL版本显现产物的GridView。能够以增加DataSource控件和数据绑定控件的手艺入手下手,如许就可以够创立最复杂的源代码。然后将会利用一种更疾速的开辟手艺(拖放列称号)。
(1)请确认已安装了SSE(如第1章所述),包含样本数据库Northwind。本实习还将触及到SQLServer大概MSDE。
(2)创立文件夹ch03,在个中创立一个名为TIO-1-SqlSimple-1.ASPX的文件。经由过程Menu:View|Toolbox(Ctrl+Alt+X)显现工具箱。请注重工具箱有一个能够睁开的Data地区。
(3)在Design视图中,从工具箱的Data地区中拖放一个SqlDataSource控件至页面。在便利义务面板上,将数据源设置为新的毗连。输出服务器称号(local)SQLExpress并利用WindowsNT认证。选择名为Northwind的数据库并测试毗连。单击OK停止。您将会主动前往至DataSourceConfiguration对话框,单击Next。对本例来讲,不必要在设置文件中保留毗连字符串;单击Next。选择“Specifycolumnsfromatable”并选择表名Products。在Columns列表中,单击ID、Name和UnitPrice。单击Next和TestQuery,然后单击Finish。如许就完成增加DataSource控件了。
(4)增加GridView数据绑定控件。在便利义务面板中,选择SqlDataSource,然后封闭便利义务面板。如许就创立了数据绑定控件。保留并运转页面,页面以下:
<%@PageLanguage="VB"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.1//EN"
"http://www.w3.org/TR/xhtmlll/DTD/xhtmlll.dtd">
<scriptrunat="server">
</script>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>Ch03-Tio#l-SqlSimple-verl</title>
</head>
<body>
<h2>
Chapter3TIO#1SqlSimpleverl
</h2>
<formid="forml"runat="server">
<div>
<asp:SqlDataSourceID="SqlDataSourcel"Runat="server"
ProviderName="System.Data.SqlClient"
ConnectionString="Server=(local)SQLExpress;
IntegratedSecurity=True;
Database=Northwind;
PersistSecurityInfo=True"
SelectCommand="SELECT[ProductID],[ProductName],[UnitPrice]FROM[Products]">
</asp:SqlDataSource>
<asp:GridViewID="GridViewl"Runat="server"
DataSourceID="SqlDataSourcel"
DataKeyNames="ProductID"
AutoGenerateColumns="False">
<Columns>
<asp:BoundFieldReadOnly="True"HeaderText="ProductID"
InsertVisible="False"DataField="ProductID"
SortExpression="ProductID"></asp:BoundField>
<asp:BoundFieldHeaderText="ProductName"DataField="ProductName"
SortExpression="ProductName"></asp:BoundField>
<asp:BoundFieldHeaderText="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->DatabaseExplorer。在DataConnections上单击右键并选择AddConnection。与上一步骤一样,您将面临毗连属性对话框。输出服务器称号(local)SQLExpress,利用WindowsNT平安,并选择名为Northwind的数据库。测试毗连并单击OK以封闭对话框。请注重在数据库扫瞄窗口中的新项目。
(7)睁开新的(local)SqlExpress.Northwind.dbo毗连,然后睁开它的表。睁开Categories表。利用Ctrl+单击的体例选择CategoryID、CategoryName和Description字段并将它们拖放至页面的底部。固然便利义务面板将为您翻开新的GridView,可是能够封闭它。键进F5来运转页面。向下转动浏览您仅仅经由过程从Category表拖放列名就创立出来的页面。以下是版本2的其他源代码。请注重,当拖放列名的时分,您会失掉一年夜组代码,包含在SqlDataSource控件中的一系列参数。
...
<asp:SqlDataSourceID="SqlDataSourcel"Runat="server"
<asp:GridViewID="GridViewl"Runat="server"
...
<asp:GridViewID="GridView2"Runat="server"
DataSourceID="SqlDataSource2"DataKeyNames="CategoryID"
AutoGenerateColumns="False"
EmptyDataText="Therearenodatarecordstodisplay.">
<Columns>
<asp:BoundFieldReadOnly="True"HeaderText="CategoryID"
DataField="CategoryID"
SortExpression="CategoryID"></asp:BoundField>
<asp:BoundFieldHeaderText="CategoryName"DataField="CategoryName"
SortExpression="CategoryMame"></asp:BoundField>
<asp:BoundField
HeaderText="Description"DataField="Description"
SortExpression="Description"></asp:BoundField>
</Columns>
</asp:GridView>
<asp:SqlDataSourceID="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]=@DescriptionWHERE[CategoryID]=@original_CategoryID"
InsertCommand="INSERTINTO[Categories]([CategoryName],[Description]
VALUES(@CategoryName,@Description)"
DeleteCommand="DELETEFROM[Categories]WHERE[CategoryID]=
@original_CategoryID">
<DeleteParameters>
<asp:ParameterType="Int32"Name="CategoryID"></asp:Parameter>
</DeleteParameters>
<InsertParameters>
<asp:ParameterType="String"Name="CategoryName"></asp:Parameter>
<asp:ParameterType="String"Name="Description"></asp:Parameter>
</InsertParameters>
<UpdateParameters>
<asp:ParameterType="String"Name="CategoryName"></asp:Parameter>
<asp:ParameterType="String"Name="Description"></asp:Parameter>
<asp:ParameterType="Int32"Name="CategoryID"></asp:Parameter>
</UpdateParameters>
</asp:SqlDataSource>
示例申明#1――SqlDataSource复杂示例
对语法来讲,SqlDataSource与我们在第2章所利用的AccessDataSource相差无几。最年夜的不同就是毗连字符串的利用(而不是指定命据文件)。二者类似的意义是对一种控件的常识能够匡助懂得其他的数据源控件。
毗连字符串向SqlDataSource传送了三个参数:
●SQLServer的称号
●将要利用的数据库的称号大概视图的称号
●唆使在随后的SSE登录中延续利用Windows认证
不管是对表仍是视图来讲,假如其称号中包括空格,就必需将称号包含在方括号当中。第二个参数供应了一个切合尺度SQL语法的选择命令。
当我们转移至版本2时,利用了VWD的完整功效。经由过程增加毗连至DatabaseExplorer,我们让VWD分明数据库的形式。VWD将会显现表和列名。在拖放列名至页面时,VWD将创立包括了撑持的DataSource控件在内的GridView。计算机发展到这个时候,很多技术日益成熟,想学好一种技术都是不容易的,当你学会用的时候你对它的很多原理可能很不了解) |
|