ASP.NET Creating Guest Book in VB.NET

In this article I will explain Creating a Guest Book in ASP.NET.
  • 6982

Today, a guest book one of the basic requirements of Webmaster to gather information from a Web site about its visitors. In this example, I'll show you how to create a guest book using ASP.NET and VB.NET. In this application, I'll use a Microsoft Access 2000 database to store the data submitted by site visitors. The database's name is GuestBook.mdb. You can create this database in Access 2000. This database has only one table, Guest. Figure 7-37 shows the table schema. As you can see, ID is a unique autonumber field. The Name address, Email, and Comments fields represent the name, address, e-mail address, and comments of a visitor.

Figure 7-37. Table schema of Guest table of GuestBook.mdb
This is simple tutorial that will guide you though creating a guest book for your Web site step by step. 
To create a guest book, first you create an ASP.NET Web Application project using the Visual Basic > Web Application template from the available template.

Default Web Form: MyGuestBook.aspx
When you create a new Web Application project, the wizard adds one default Web form to your project called WebForm1.aspx. You can see this page when you run your application. In this application, I've renamed WebForm1.aspx to MyGuestBook.aspx. You can rename a page by right clicking on the .aspx file in the Solution Explorer and selecting the Rename option.
Next, add a few Web controls to the form. In my form, I've added the controls listed in Table 7-6
Table 7-6. Web Controls my Guest Book Page





<asp:Text Box>

Name text box


<asp:Text Box>

Address text box


<asp:Text Box>

Email Text Box


<asp:Text Box>

Comments text box



Button control saves data to the database and calls Thanks.aspx



Calls View Guest Book.aspx



Four label controls

As you can see from Table 7-6 added four text boxes, two buttons, and four labels and rename them accordingly by setting each one's properties. For example, I set the Components Text Box control's TextMode property to Multiple. By changing the properties of the controls, MyGuestBook.aspx form looks like figure 7-40.


Figure 7-40. My guest book submission page
Now double-click on the sing In Guest Book button and write the code in listing 7-6.
Listing 7-6. Source code for adding guest data to the database

    Protected Sub Button1_Click(ByVal sender As ObjectByVal e As EventArgs)
        ' set Access connection and select strings 
        Dim strDSN As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & " Data Source=C:/GuestBook.mdb"
        Dim strSQL As String = (((("INSERT INTO Guest " & "( Name,Address,Email,Comments)" &"VALUES ('") + NameTextBox.Text.ToString() & " ',' ") + AddressTextBox.Text.ToString() & " ', '") + EmailTextBox.Text.ToString() & " ',' ") + CommentsTextBox.Text.ToString() & " ')"

        ' Create oleDbDataAdapter 
        Dim myConn As New OleDbConnection(strDSN)

        'Create ole Db Command And call ExecuteNonQuery to execute 
        ' a SQL statement 
        Dim myCmd As New OleDbCommand(strSQL, myConn)
        Catch exp As Exception
            Console.WriteLine("Error: {0}", exp.Message)
        End Try
        ' open Thans.aspx page after adding entries to the guest book 
    End Sub

As you can see from Listing 7-6, you write the data entered into the Web form to an Access database. My database resides in the C:\root dir. Obviously, if your database is somewhere else, you need to change this database path. After writing to the database's Guest table you continue the program by opening the thanks.aspx page in your browser. I'll discuss this page a little bit further along in the "Thank.aspx" section. 
Now add the code in listing 7-7 to the click event of the View Guest Book button. The View Guest book click opens the ViewGuestBook.aspx page the browser.
Listing 7-7. Source code for opening ViewGuestBook.aspx

    Protected Sub Button2_Click(ByVal sender As ObjectByVal e As EventArgs)
        ' View ViewGuestBook.aspx page 
    End Sub

Adding Forms to the Guest Book

Other than MyGuestBook.aspx page, I'll add two more Web Forms to the project. The first form I'll add is called ViewGuestBook.aspx, and the second form is Thanks.aspx. The ViewGuestBoook.aspx form reads the data from the database and enables you to view the contents in a DataGrid on a Web page. The Thanks.aspx form is, as you may have guessed, a simple" thank you" Web page shown to the guest, thanking them for registering on the site. 
To add a new Web form, right-click on your project and select Add > Add Web Form (see Figure 7-41).


Figure 7-41. Adding a new Web page to the project
Clicking on this menu item opens a form, which lets you pick different types of items for your project. Choose the Web Form template and type Thanks.aspx and then click Open. Then do the same for the ViewGuestBook.aspx page to add these two web forms to the project (see figure 7-42 and 7-43).

Figure 7-42. Adding Thanks.aspx to the project
Figure 7-43. Adding ViewGuestBook.aspx to the project
The ViewGuestBook.aspx from contains two controls, a DataGrid control and a button control (see Table 7-7).
Table 7-7. Web Controls of View Guest Book.aspx






Displays guest book entries from the database



Navigates to the home page

The DataGrid control displays the guest book entire from the database. The code for populating the DataGrid from the database is on the Page_Load event of the form. 

I've used OleDbDataAdapter and DataSet to get the data from the database. As discussed, the Data Source property of the DataGrid takes care of rest. You just need to set the DataSource property, as the DefaultView of the DataSet, like so:
        DataGrid1.DataSource = ds.Tables["Guest"].DefaultView
Listing 7-8 shows the Page_load event code.
Listing 7-8. PageLoad event handler code of ViewGuestBook.aspx

    Protected Sub Page_Load(ByVal sender As ObjectByVal e As EventArgs)
        ' Create a connection object 
        Dim conn As New OleDbConnection()
        conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=C:/GuestBook.mdb"
        Dim sql As String = "SELECT * FROM Guest"

        ' Create a data adapter 
        Dim da As New OleDbDataAdapter(sql, conn)

        ' Create and fill dataset and bind it to the data grid 
        Dim ds As New DataSet()
        da.Fill(ds, "Guest")
        DataGrid1.DataSource = ds.Tables("Guest").DefaultView
    End Sub

The button click event handler opens the how page, and the code looks like the following:

Protected Sub Button3_Click(ByVal sender As Object, ByVal e As EventArgs) 
End Sub
The Thanks.aspx page is merely a confirmation page that the user receives after adding data to the guest book. It has two buttons and simple message. The buttons are responsible for navigating through the ViewGuestBook.aspx page or the site home page. Table 7-8 lists the controls for Thank.aspx.
Table 7-8 Controls of Thanks. aspx page






Calls ViewGuestBook.aspx page



Navigates the browser to the site home page

The Thanks.aspx page looks like figure 7-44.


Figure 7-44. Thank you!
Listing 7-9 shows the My Home page button and the View Guest Book button click code. As you can see from the listing, the My Home Page button click calls . Obviously, you can call your Web site's home page. The View Guest Book button calls ViewGuestBook.aspx.

Listing 7-9. The Go Home and View Book buttons code

    Protected Sub Button3_Click(ByVal sender As ObjectByVal e As EventArgs)
    End Sub

    Private Sub ViewGuestBookButton_Click(ByVal sender As ObjectByVal e As System.EventArgs)
    End Sub

    Private Sub GoHomeButton_Click(ByVal sender As ObjectByVal e As System.EventArgs)
    End Sub

Note: Don't forget to add a reference to the System.Data.OleDb namespace in the ViewGuestBook.aspx and MyGuestBook.aspx pages
Compiling and Running the Guest Book Project
Now you're all set to compile and run the project. You should be able to do everything that you usually do in a guest book. The output of the program looks like figure 7-45.
Figure 7-45. Welcome to my guest book
As you can see from figure 7-45, I added a new record by filling data in the field and clicking the Sign In GuestBook button. The Next page displayed is the Thanks page, which looks like figure 7-46.
Figure 7-46. The Thanks page of the guest book
Now, if you View the Guest Book, it look like figure 7-47. As you'll notice, I have couple of extra records in my guest book.
Figure 7-47. My Guest book entries
Hope this article would have helped you in understanding Creating a Guest Book in ASP.NET . See other articles on the website also for further reference.


More Articles

© 2020 DotNetHeaven. All rights reserved.