* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Chapter 8
Microsoft Access wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Ingres (database) wikipedia , lookup
Concurrency control wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Functional Database Model wikipedia , lookup
Team Foundation Server wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Clusterpoint wikipedia , lookup
Relational model wikipedia , lookup
Chapter 8 Working With Databases in ASP .NET Listing 8.1 – ShowListControls • Uses The SqlDataSource control for estabishing database connectivity and query/update • Includes all the list controls: – BulletedList, CheckBoxList, DropDownList, ListBox, and RadioButtonList • Each List control has these properties for data binding using an SqlDataSource – DataSourceId – the ID of the SqlDataSource object – DataTextField – the name of the column from the SQL command that should be displayed Listing 8.1 ShowListControls.aspx Each of these are subclasses of the ListControl class. ListControl is an abstract class. Listing 8.1 ShowListControls.aspx The SQLDataSource control allows the .aspx page to set both database connections and default queries. With this approach, database connectivity and query is part of the markup, not the code-behind SqlDataSource Control • Represents an SQL database to data-bound controls • Used to establish connection to a data source and perform queries and updates to the data source. • Some Properties – – – – – ConnectionString SelectCommand InsertCommand UpdateCommand DeleteCommand ConnectionString Property <asp:SqlDataSource id="srcMovies" ConnectionString="Data Source=.\SQLExpress; AttachDbFilename=|DataDirectory|MyDatabase.mdf; Integrated Security=True;User Instance=True" SelectCommand="SELECT Title FROM Movies" Runat="server" /> The ConnectionString property’s value depends on the database server and host’s configurations. Above is the connection string from the book. For the Lab computers use the following: ConnectionString="Server=localhost;Database=MyDatabase; Trusted_Connection=Yes;" SelectCommand <asp:SqlDataSource id="srcMovies" ConnectionString="Data Source=.\SQLExpress; AttachDbFilename=|DataDirectory|MyDatabase.mdf; Integrated Security=True;User Instance=True" SelectCommand="SELECT Title FROM Movies" Runat="server" /> The SelectCommand property’s is a SQL SELECT statement. Other properties include InsertCommand, UpdateCommand, and DeleteCommand. List Control Data Binding Properties <asp:BulletedList id="BulletedList1" DataSourceId="srcMovies" DataTextField="Title" Runat="server" /> All List controls (databound) include these two properties: • DataSourceId – the ID of the SqlDataSource object • DataTextField – the name of the column from the SQL SelectCommand that should be displayed Browser’s rendering of HTML code. Note, each list contains the result of the SQL SELECT query of the associated SqlDataSource, with the Title column being displayed. Listing 8.6 BoundGridView.aspx GridView is a databound control that renders an HTML table based on a query. Listing 8.2 ShowTabularDataBound.aspx These six Web controls are more complex and can display multiple separate columns from a query. Browser’s rendering of HTML code. Tabular DataBound Controls Subclasses of DataBoundControl (newer) – GridView – HTML table, one record per displayed row – DataList – HTML table, multiple records can display on a row, requires templates – Repeater – does not render an HTML table, requires templates – ListView – displayed via template; allows sorting, paging, editing • Single Data Record – DetailsView – HTML Table of a single record – FormView – Single record displayed via templates, allows paging http://msdn.microsoft.com/en-us/library/ms228214.aspx Not descended from DataBoundControl (older) Subclasses of CompositeDataBoundControl • Multiple Data Records Using Item Templates <asp:FormView id="FormView1" DataSourceId="srcMovies" AllowPaging="true" Runat="server"> <ItemTemplate> <%#Eval("Title")%> <i>directed by</i> <%#Eval("Director")%> </ItemTemplate> </asp:FormView> <asp:Repeater id="Repeater1" DataSourceId="srcMovies" Runat="server"> <ItemTemplate> <%#Eval("Title")%> <i>directed by</i> <%#Eval("Director")%> </ItemTemplate> </asp:Repeater> ItemTemplates allow you to specify, using html and “old ASP”, specific content to display. ItemTemplate is a sub-element of the data bound Web control. Old ASP <asp:FormView id="FormView1" DataSourceId="srcMovies" AllowPaging="true" Runat="server"> <ItemTemplate> <%#Eval("Title")%> <i>directed by</i> <%#Eval("Director")%> </ItemTemplate> </asp:FormView> <asp:Repeater id="Repeater1" DataSourceId="srcMovies" Runat="server"> <ItemTemplate> <%#Eval("Title")%> <i>directed by</i> <%#Eval("Director")%> </ItemTemplate> </asp:Repeater> Before .NET, ASP tags looked like this: <%# %> server-side code here The Eval function call returns the value of the field identified in its argument. Listing 8.10 ShowLinks.aspx ItemTemplates can contain other <asp:> tags as subelements. Listing 8.13 ShowFormView.aspx EditItemTemplates can contain other <asp:> tags as sub-elements, and allow for Buttons to submit data to the server. The UpdateCommand includes @FldName. This is called a placeholder. This allows you to retrieve the data from the associated TextBox controls in the form (and DataKeyName for the primary key). Listing 8.7 ShowControlParameter.aspx This example illustrates the use of control parameters to modify queries based on user selection from a DropDownList Database Tables for this Example Two tables, with one-to-many relationship. Listing 8.7 ShowControlParameter.aspx A DropDownList databound to a SqlDataSource for the dominant table in the relationship. Listing 8.7 ShowControlParameter.aspx Clicking the button simply performs the submit to the server. Listing 8.7 ShowControlParameter.aspx Based on the userselected value from the DropDownList, the other SqlDataSource can customize a query. This is done through the control parameter. Listing 8.7 ShowControlParameter.aspx A control parameter links a particular control to an item in a SelectCommand (or Update, Insert, Delete). Note: there are other types of parameters. The SelectParameters subelement represents a collection of parameters to be used for the SelectCommand. Each SelectParameter will be associated with a placeholder in the query. Listing 8.7 ShowControlParameter.aspx ControlParameter Properties: • Name – identifies the placeholder to replace in the query • ControlID – identifies the control that contains the value to put into the placeholder