DataRowView
Selecting a random database record with SQL
Apr 9th
Here’s a “quick and dirty” way of selecting a database record at random. This can be used for things like showing a featured product or a random advert.
Here’s the SQL to use in your SelectCommand:
You can either bind a control such as a Repeater to the data source or use VB to pull data from the record and use it. Here’s an example of producing a random link in a page. ASP.NET form:
And here’s the VB to grab the data for the single record:
dv = CType(srcRandomCourse.Select(DataSourceSelectArguments.Empty), Data.DataView)
Dim dr As Data.DataRowView = dv(0)
Dim strProductName As String = CStr(dr(“product_name”))
Dim strProductId As String = CStr(dr(“product_id”))
lnkRandomProduct.Text = strProductName
lnkRandomProduct.NavigateUrl = “http://www.yoursite.com/products.aspx?id=” & strProductId
Setting the page title dynamically in ASP.NET
Mar 12th
With a database driven site it’s very useful if pages giving details of a specific product have that product name in the page title.
This sounds like it should be quite easy but it isn’t. You can insert data from a field into a page quite easily by binding the data to a control. However, the ASP.NET controls have to sit with the <form> tags in the <body> of the HTML so binding data to the <head> section is more difficult.
It has to be done programmatically. Here how’s it’s done in VB.
dv = CType(srcDataSourceControl.Select(DataSourceSelectArguments.Empty), Data.DataView)
Dim dr As Data.DataRowView = dv(0)
Dim strProductName As String = CStr(dr(“ProductName”))
Dim strProductNumber As String = CStr(dr(“ProductNumber”))
Dim strProductCategory As String = CStr(dr(“ProductCategory”))
Page.Header.Title = strProductName & ” – ” & strProductNumber & ” – ” & strProductCategory
This example uses srcDataSourceControl as the data source control and assumes that the database table has fields called ProductName, ProductNumber and ProductCategory. You can bind as many fields as you like in this way.
The title is set by giving a string value to Page.Header.Title. This can be strings bound with DataView (strProductName) or bits of text in quote marks (” – “) joined by the & sign.
One final important thing. The <head> section in your page HTML must include the runat=”server” to enable the header content to be manipulated on the server side.


