Article Options
Recently Viewed
Premium Sponsor
Premium Sponsor

 »  Home  »  .NET Newbie  »  A Beginner's Guide to VB.NET and Database Programming - The Recipe Application
A Beginner's Guide to VB.NET and Database Programming - The Recipe Application
by Charles Profitt | Published  12/28/2002 | .NET Newbie | Rating:
Charles Profitt
Charles Profitt currently works as both a developer and system administrator for a K-12 school district. His diverse experience includes working with Netware, Active Directory, SQL Server (2000 and 2005), IIS 6, Lotus Notes and Visual Studio.Net (2002, 2003, and 2005). His language of choice is C#. Charles has created several windows and web bases applications in since November of 2002. 

View all articles by Charles Profitt...
A Beginner's Guide to VB.NET and Database Programming - The Recipe Application

Article source code and database: recipebook.zip

I am a beginner. I wanted to share some experiences with other beginners. The first frustration we have is finding a book that teaches us what we want to learn. When looking at beginners books we all want to avoid the books that are too simple, but can't yet crack the secret code the upper level books. I think there is some secret language that developers talk in; C# or something like that. The next few articles that come from my keyboard will be about my experience with teaching myself to develop applications in VB.NET.

The first thing I did was go out and get a copy of Visual Basic.NET. Then I decided that I would tackle two easy projects to start with. I learn best by doing, so choosing an actual project is necessary for me. The first project was a cook book, or recipe application. I eventually want to make a simple help desk.

The Recipe Application

For all you experts out there, move along, this is a beginner writing to other beginners. The first step to creating an application is to define what you want it to do. There are some basic features I want from my first ever Visual Basic.NET application and there are others that would be fun to try and add after I have learned more.

  • Store Recipes
  • List Ingredients and Instructions
  • Be searchable by Keyword, Ingredient, Preparation Time, or Calories **
  • Limit recipes and searches to those within a category (beef, chicken, breakfast, etc)
  • Allow the user to add, delete or update recipes
(** Not included in version 1.0)

Not the most thrilling application, but it should present several key learning points. To complete this application we will have to learn how to take input, retrieve information, display information, store information, and build an installer.

Where to Begin?

That is the question that all beginners have. I spent the better part of four days looking at the various and assorted books at my local super book store and cafe. I settled on Beginning Visual Basic .NET Databases by Forgey, Gosnell, and Reynolds and Murach's Beginning Visual Basic .NET by Anne Prince. These two books, I thought, would enable me to understand some of the basics of VB.NET and using databases with VB.NET.

The Murach book was an excellent source for the basics with source code for each application all contained on one page or several pages in a row. It was a good thing to not have to hunt through several pages of theory to find scattered code examples each time I had to check my code. Chapter 14 was dedicated to XML and provided me some insight into why I would want to possibly use an XML file to store the recipe data. The book was not in depth enough to show if I could do searches based on parts of the XML file or not. My design specs called for searching and this book did not assist me beyond the very basic parts of XML. I am a beginner, but there should have been more. I then moved on to the chapters about relational databases. Chapters 16, 17 and 18 in Murach's Beginning Visual Basic .NET were excellent for getting me into the basics of how to program an application with ADO.NET. I adopted the instructions in these chapters to work with a local access database instead of an SQL server.

The Recipe Application

The Murach book showed me how to create a Connection, Data Adapter, and a Dataset in Chapter 17. In Chapter 18 it discussed how to bind controls to the data and then use bound controls to update, add, and delete data rows. Parameterized queries tied everything together for the Recipe Application. As you can see below I have created two DataAdapters and a Dataset for each. I need to keep the Category table and the Recipe Table separate. There may be a better way to do this, but this worked.

One of the most important things I learned from the book is that you must fill the dataset. With VB.NET you are not working directly with the data like you would using MS Access. You are working with a 'picture' of the data created by your SQL statements in the Data Adapter and then filled into the Dataset. You can load the data in any event of the form - a button click, a combo box selection or a form load event. In most cases you will load the data in the form load as seen below.

Code:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    DaCategory.Fill(DsCategories1)
    DaRecipes.Fill(DsRecipes1)
    Me.SetEntryControls(False)
    Me.SetMaintenanceButtons(True)
    RecipesBindingManager = Me.BindingContext(DsRecipes1, "Recipes")
    btnEdit.Enabled = False
    lblCategoryText.Visible = False
    txtCategory.Visible = False

End Sub

The important lines in filling the data are the two listed in red. The other line that was critical to using the combo box to navigate records was the line in green. The binding manager tracks the position or row of data that the application is currently viewing or potentially editing. You should also notice the Me.SetEntryControls(False) line of code. This is calling another sub routine that sets the enabled or disabled status of certain controls on the form. Each control could be listed individually, but if you have several controls that are always going to be enabled or disabled as a group then making a separate sub for that update will make it easier for you to enable and disable them throughout your application.

Code:
Private Sub SetComboBoxControls(ByVal bComboMode As Boolean)
    cboCategory.Enabled = bComboMode
    cboRecipe.Enabled = bComboMode
End Sub

Actually binding data to a control is very easy in the IDE. Just select the control on the form and then go to the properties pane and select the DataSource and the display member. These will both be drop downs and the datasets you have created will be selectable. The DataSource is the name of your Dataset.Table (so in the case of my category combo box the DataSource was DsCategories.Categories. The Display member is the actual field in the table that you want to be bound to that field and displayed. In the Recipe application that was category. In order to get this the selected category has to be passed to the DataAdapter that populates the Recipe DataSet. To do that I used the code below:

Code:
Private Sub cboCategory_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboCategory.SelectedIndexChanged

    If bNewRow Then
        txtCategory.Text = cboCategory.Text
    Else
        DsRecipes1.Clear()
        DaRecipes.SelectCommand.Parameters("Category").Value = cboCategory.Text
        DaRecipes.Fill(DsRecipes1)
        cboRecipe.Focus()
    End If

End Sub

The code above clears and refills DsRecipes1. The line in red sends a value to the DataAdapter which is parameterized. The remainder of the application uses the binding manager and bound controls to navigate through the data, edit the data or add new data.

The important thing to remember when you are trying to add, delete, or edit data is that your application is working with its own DataSet not the actual database. To update the data you must use a command to take the current dataset and update the database with it. Here is the code that I used to accomplish this:

Code:
Private SubUpdateDatabase()
    DaRecipes.Update(DsRecipes1.Recipes)
End Sub

Any code that updates the database uses the above code by containing Me.UpdateDatabase(). This code is included in the update and delete button code of the Recipe Application code. Below is the code for the delete button so you can see it in action:

Code:
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click

    Dim iResult As DialogResult = MessageBox.Show("Delete " & txtTitle.Text & " ?", "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

    If iResult = DialogResult.Yes Then
        RecipesBindingManager.RemoveAt(RecipesBindingManager.Position)
        Me.UpdateDatabase()
        cboCategory.SelectedIndex = -1
        Me.SetMaintenanceButtons(True)
        Me.SetEntryControls(False)
        Me.SetComboBoxControls(True)
        cboCategory.Focus()
        btnDelete.Enabled = True
    End If
End Sub

Adding data is done by first clearing the fields and then using the BindingManager to add a new row. Then the user must fill out the text fields and click the update button. The code for the Add button and Update button is below:

Code:
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
    txtTitle.Text = ""
    DsRecipes1.Recipes.Clear()
    RecipesBindingManager.AddNew()
    bNewRow = True Me.SetEntryControls(True)
    Me.SetMaintenanceButtons(False)
    Me.SetComboBoxControls(False)
    cboCategory.Enabled = True
    txtCategory.Visible = True
    lblCategoryText.Visible = True
    txtTitle.Focus()
End Sub

Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
    If ValidData() Then
        RecipesBindingManager.EndCurrentEdit()
        Me.UpdateDatabase()
        If bNewRow Then
            cboRecipe.SelectedIndex = RecipesBindingManager.Count - 1
            bNewRow = False
        End If
        Me.SetEntryControls(False)
        Me.SetComboBoxControls(True)
        btnUpdate.Enabled = False
        Me.SetMaintenanceButtons(True)
        EditMode = False
        cboCategory.Focus()
    End If

    txtCategory.Visible = False
    lblCategoryText.Visible = False
End Sub

That covers the basics of how to use your data connections, data adapters, and data sets to retrieve, navigate, add, delete and update data. I hope that these simple instructions have helped you gain a better understanding of how to manipulate a DataSet. Please feel free to write me or post your comments here about your experiences. There will be more of these beginner type articles as well as book reviews from a beginner's perspective to help guide those of us that are new to the world of Visual Basic.

How would you rate the quality of this article?
1 2 3 4 5
Poor Excellent
Tell us why you rated this way (optional):

Article Rating
The average rating is: No-one else has rated this article yet.

Article rating:3.33333333333333 out of 5
 84 people have rated this page
Article Score52060
Related Articles
Comments    Submit Comment

Comment #1  (Posted by ligey on 01/01/2003)


 
Comment #2  (Posted by ligey on 01/01/2003)

that was a real good guideline that u had given ...i was able to understand that well
im a beginner and find it hard at every point....

let me tell u some of the problems im currently facing :hope u will be able to help me out
ive written code to connect to the database using SQL CONNECTION
ive not placed the objects (such as SQL Adaptor on the form as u have done).ive done all the connection using code !

1. ive used a datagrid which is connected to the dataset.
while inserting or deleting or editing,when i click on a particular id i would like the corresponding details to appear in the text boxes,which i am not able to acheive...

2. i am not able to edit the data present in the text box.and save later on.
3.in case of deletion is it possible to delete the foreign key ?
these are some major problems im facing
hope u could help me get out of this sticky situation /!!!!
thank u in advance

ligey


 
Comment #3  (Posted by Chas Profitt on 01/01/2003)

ligey - do you have the IDE?

I would try creating the data adapter throught the IDE - then take a look at the generated code. If you want you can send me the code and I can try and look at it.
 
Comment #4  (Posted by Mickey on 01/06/2003)

Hi,

Where can I get hold of the recipes.mdb?

Regards,

Mickey
 
Comment #5  (Posted by Chas Profitt on 01/06/2003)

You can send me an e-mail and I can zip the app and DB to you. There are some errors in the application which have not been fixed yet - I can send the updated app to you if you like as well.
 
Comment #6  (Posted by Fritz Lero on 01/15/2003)

Sir.i'm really fascinating about your submission.its worth learning. well i tried to make a new database but it wont work.even i change the connection string. can you pls. send me the mdb file and the updated source that has no errors.thank you and more power.
 
Comment #7  (Posted by Dante S. McCallow on 01/15/2003)

I found your submission most informative. A recipe book program; very quaint. I'm actually submitting this from a computer on college campus; I have just begun studying programming and have been starving for information ever since the first class. From a beginner (you) to an upcoming enthusiast (me), your outline was easy to understand, yet informative enough to inspire. The best of luck to you; Thanks again.


 
Comment #8  (Posted by Chas Profitt on 01/16/2003)

Dante - I am glad you found it helpful. I will be submitting more articles in the future. I am working the BLOG article now. If you would like to see my blog you can go to www.bucnews.com. For now my blog is the main item there, but shortly it will just be a link.

I am re-creating an entire site using ASP.net with what I have learned in the last two weeks.
 
Comment #9  (Posted by K Anderson on 01/21/2003)

What did you think about the beginning vb .net databases book. I learned the basics in a class, but nothing about databases except how to make an app to access them.
 
Comment #10  (Posted by Chas on 01/21/2003)

K Anderson - I thought the Visual Basic .Net Databases book from Wrox was excellent. The only frustrating thing was that it didn't cover the automaticly generated SQL statements that are created by the IDE when you make a Data Adapter. While certainly knowing how to make your own is important it would have been nice to have some attention paid to how the software works by default.
 
Comment #11  (Posted by Bill on 01/24/2003)

Hi,

I am also teaching myself VB.NET and I have learned from your example, thank you!
Would you be kind enough to send me the updated code and the recipes.mdb?

hey, nice web site by the way!

Good Job,

Bill
 
Comment #12  (Posted by Chas on 01/24/2003)

Bill - I haven't updated the code yet.
 
Comment #13  (Posted by S. Moore on 02/04/2003)

Greetings,
Great application, and information, it has helped me a lot in learning VB and ADO.net.
I was wondering if there was any way you could get me a copy of the actual database so i could run the program to see how it works a little better...

either way, great job and thanks for your efforts in posting this to the Community...


 
Comment #14  (Posted by Chas on 02/25/2003)

Just send me an e-mail and I will send you the code and DB.
 
Comment #15  (Posted by khairil on 03/15/2003)

well done! i have been searching this kind of article. I have some few suggestion:-
1. most of the example over the net using drag and drop database related controls into their application, how about solidly code, i mean no wizard, like instead of using adodb databound,use adodb.connection and adodb.recordset.

2. can put some addition functionality like move (first, previous, next, last) and find(find next), it will be a complete solution for most database problem.

happy coding, cheers, :)
 
Comment #16  (Posted by Brian on 03/25/2003)

Thank's for the great article. I too am a working / learning programmer with a couple of years of VB 6.0 under my belt. I have found VB.Net to be very exciting and yet frustrating. If it weren't for these types of articles where we can help eachother, it would be a long lonely road.
 
Comment #17  (Posted by Robert Fagnant on 04/30/2003)

Could I have the recipes.mdb too. I have the .NET studio but not doing much with it!

Thanks,

Bob
 
Comment #18  (Posted by Serge Baranovsky on 04/30/2003)

The database is available in the article source code download.
 
Comment #19  (Posted by Robert Fagnant on 04/30/2003)

Could I have the recipes.mdb too. I have the .NET studio but not doing much with it!

Thanks,

Bob
 
Comment #20  (Posted by Robert Fagnant on 04/30/2003)


Thanks for the source,

Bob
 
Comment #21  (Posted by bipin on 06/10/2003)

a good article for beginners to start with vb.net
covers most of the areas for the user
really great!
 
Comment #22  (Posted by Chas on 06/10/2003)

bipin - thanks for the comments. I am working, though slowly, on the second article which will be on the redesigned recipe application. I hope to have it ready for public consumption in two weeks.
 
Comment #23  (Posted by Eric on 07/21/2003)

I just browsed your article looking for suggestions for a problem I am working on. I'm not really familiar with your database setup, but my database has an Identity field for the primary key. When adding a record, it throws an exception when it gets to EndCurrentEdit() saying that the column ID cannot have a null value.

Do you have any suggestions for overcoming this? I already tried restructuring the Insert statement to grab the @@IDENTITY value and use it for the SELECT statement, but it didn't seem to work.

Any suggestions would be greatly appreciated.

Thanks,
Eric
 
Comment #24  (Posted by Chas on 07/22/2003)

The error is being created because you are not setting a value - is the field in the database an 'INT' that has the identity property set to 'yes'? If it is the database should auto-generate the number. If you want to send me a zipped version of the project I can take a better look at it.
 
Comment #25  (Posted by yan19454 on 10/29/2003)

I do not understand why you use two dataadapters. I tried to use one dataadapter and use fill it with different datasets. it did not work. I need to check out more posting. Also you have more than one table in the datasets. too.
 
Comment #26  (Posted by Chas on 10/29/2003)

From what I have learned you have to have a Data Adapter per table, but all of them can go in to one dataset. When I made this I had also not learned about Data Views and filters so I used oen Da per Ds and to do parameterized queries I used additional Da's for the tables as needed.

Now I would use one Da per table, one Ds, and Data Views with filters.
 
Comment #27  (Posted by Gayle on 12/12/2003)

Chas,

You are a good man for sharing this information in such a clear concise 'how to' manner. Thank you!
 
Comment #28  (Posted by Jamie on 02/12/2004)

Chas, your article was great and hit every problem or thought I've come across trying to learn VB.net, which doesn't make me feel so alone. Do you feel that the Wrox book provided a sound foundation for creating MS SQL Server databases? I'm currently "trying" to create a database application for my department, and would like to find a book that would give me both the ground for database design/access as well as programming the application to get that data. Your feedback would very much be appreciated!
 
Comment #29  (Posted by Chas on 02/12/2004)

Jamie:

The best book I have found to date is the Murach book on VB.Net Database Programming. I am currently looking at and reviewing (review soon) the APress book Building Client/Server Applications with VB.Net which covers n.tier designs.
 
Comment #30  (Posted by an unknown user on 06/23/2004)


 
Comment #31  (Posted by DEsj on 08/13/2004)

hi, when i addin the data i have the message "Databinding could not find row in the list that is suitable for all binding", What this problem
 
Comment #32  (Posted by Cassio on 09/08/2004)

This was really enlightning!

I dont have Visual Basic.NET yet, only Visual Basic 6 but I downloaded the files since I understood there was and .exe included and I wanted to see the application in action.
This is the second application I download made with VB.NET and neither run on my machine!

I get an error message:
Application Error
Application was not initialized correctly (0xc0000135.)...

Any idea why?

Thanks in advance for the answer.



 
Comment #33  (Posted by Chas Profitt on 09/08/2004)

Do you have the 1.0 or 1.1 framework installed?
 
Comment #34  (Posted by an unknown user on 09/08/2004)

I have no idea! Where do I check that?

Does that mean the the .exe wont work with a machine that does not have VB installed?
I thought VB generated a .exe that could be used in any machine...

thanks.
 
Comment #35  (Posted by .Net Framework on 09/09/2004)

Go to add and remove programs and look for "Microsoft .Net Framework 1.0" or "Microsoft .Net Framework 1.1"
 
Comment #36  (Posted by an unknown user on 01/03/2005)
Rating
Some of the variables are not defined or explained. A beginner would not be expected to understand the data types etc.
 
Comment #37  (Posted by an unknown user on 01/03/2005)
Rating
Some of the variables are not defined or explained. A beginner would not be expected to understand the data types etc.
 
Comment #38  (Posted by an unknown user on 01/31/2005)
Rating
coz its pathetic

 
Comment #39  (Posted by an unknown user on 04/19/2005)
Rating
because i have n't seen like this which explane very well for the beginner like me thanks it help me.
 
Comment #40  (Posted by an unknown user on 05/20/2005)
Rating
This is an excellent sample recipe program that explains the procedure taken to create such an application. It is precise and explicit. This is the first that I've seen that is clear in context. I thank you for the developer for having this example clear in context. Not even Microsoft has a clear explaination, but a convoluted and extensive programming language, yes with explaination but convoluted.
 
Comment #41  (Posted by Dessi Bravo on 05/20/2005)
Rating
I am sorry to say that you have an unhandled exception in this program that points to the DaCategory. This is not working properly.
 
Comment #42  (Posted by an unknown user on 05/28/2005)
Rating
This application is ideal but i think in the real life the application must includes loggin screen and security cortrol
beside there is no explaination to how i can search for a certain item stored in the database
 
Comment #43  (Posted by an unknown user on 06/11/2005)
Rating
waht are the steps???
 
Comment #44  (Posted by Max Vernon on 08/11/2005)
Rating
Excellent article.
I just wish i found this before i spent 2 weeks building my first .NET Database from internet links, simple txt files, and MSDN website.

It worked, but could have been easier to learn.
Im now looking at all the other tuts that you have done, and am learning alot, FAST!!!

Many Many Thanks
 
Comment #45  (Posted by Tomas on 08/17/2005)

Could I have the recipes.mdb?



 
Comment #46  (Posted by an unknown user on 09/16/2005)
Rating
Googd guide, but it seems like you've had some programming experience before if you can do that on your first try.
 
Comment #47  (Posted by an unknown user on 12/07/2005)
Rating
need more details
 
Comment #48  (Posted by wasiq zarif on 01/30/2006)
Rating
Your article is really nice. I opened the project using VB .NET 2005 (instead of 2003) and it converted accordingly. Once i start debugging, this is the error i am getting.

Parameter ?_1 has no default value. (OleDbException was unhandled)

and the line it is getting stuck is @

DaRecipes.Fill(DsRecipes1)

in your form1_load sub procedure.

Am i missing something here? I have the mdb at c:\recipes\recipes.mdb where it shoud be according to the data connection.

Any help will be nice.
 
Comment #49  (Posted by an unknown user on 03/17/2006)
Rating
the context was explained well.
 
Comment #50  (Posted by an unknown user on 05/10/2006)
Rating
One of the first sentences isn't even grammatically correct..... "When looking at beginners books we all want to avoid the books that are too simple, but can't yet crack the secret code the upper level books." - WTF - I don't need to read articles from people that can't write in a clear manner - and who obviously aren't ashamed to post an article they obviously haven't even proof read... pathetic!
 
Comment #51  (Posted by an unknown user on 09/14/2006)
Rating
Comment #50 (Posted by an unknown user on 05/10/2006)
What a snob you are! Do you live in a glass house?
 
Comment #52  (Posted by an unknown user on 09/14/2006)
Rating
Do you have any examples of how to pull from the comboboxes and add those values to a different table?
 
Comment #53  (Posted by grad on 09/14/2006)
Rating
What is 'bNewRow' in Private Sub cboCategory_SelectedIndexChanged(......
 
Comment #54  (Posted by an unknown user on 10/10/2006)
Rating
because it is good for beginners
 
Comment #55  (Posted by an unknown user on 01/01/2007)
Rating
I have the same problem as #48, Anyone have any ideas?
 
Comment #56  (Posted by an unknown user on 02/14/2007)
Rating
where do you put the code???>>>?
 
Comment #57  (Posted by an unknown user on 03/15/2007)
Rating
asdxsas
 
Comment #58  (Posted by an unknown user on 09/04/2007)
Rating
Suggestion. Rather than hard code your path eg, C:\Recipes\Recipes.mdb use the Application Path Application.StartupPath & "\yourfile.exe"

Not everyone has the same path that is the main hard drive is not always C:\ I could not start your programme because of this (my drive is F:
 
Comment #59  (Posted by an unknown user on 03/06/2008)
Rating
didn't understood..complicated

 
Comment #60  (Posted by an unknown user on 03/29/2008)
Rating
Hello Charles - good you have here!
I am a beginner, but not like you only few month as a hobby VB .NET
I did try you code, but when I wnat to RUN I got this Exception in code:
DaRecepes.Fill(DsRecipes1) ---> Parameter ?_1 has no default value
Please help !
 
Comment #61  (Posted by an unknown user on 03/30/2008)
Rating
Hello Charles - good code you have here!
I am a beginner, but not like you only few month as a hobby VB .NET
I did try you code, but when I wnat to RUN I got this Exception in code:
DaRecepes.Fill(DsRecipes1) ---> Parameter ?_1 has no default value
Please help !
 
Comment #62  (Posted by an unknown user on 04/13/2008)
Rating
As I am a vb 6 programmer.
So for me as a beginner to vb.net this application is very helpful to understand the basics of database connectivity in vb.net without reading too much heavy books which take so much time that i am laking.
Ya that's true that learning by reading the theory is much better but when you don't have time to read, this type of applications will help you a lot as in case of mine.
 
Comment #63  (Posted by name on 06/17/2008)
Rating
comment5,
 
Comment #64  (Posted by name on 06/17/2008)
Rating
comment5,
 
Comment #65  (Posted by name on 06/17/2008)
Rating
comment5,
 
Comment #66  (Posted by name on 06/17/2008)
Rating
comment6,
 
Comment #67  (Posted by name on 06/17/2008)
Rating
comment2,
 
Comment #68  (Posted by name on 06/17/2008)
Rating
comment3,
 
Comment #69  (Posted by name on 06/17/2008)
Rating
comment6,
 
Comment #70  (Posted by name on 06/17/2008)
Rating
comment1,
 
Comment #71  (Posted by name on 06/17/2008)
Rating
comment3,
 
Comment #72  (Posted by name on 06/17/2008)
Rating
comment6,
 
Comment #73  (Posted by an unknown user on 06/30/2008)
Rating
should have a option to download the program
 
Comment #74  (Posted by Paris-Hilton.wikidot.com on 07/04/2008)
Rating
Paris-Hilton.wikidot.com
 
Comment #75  (Posted by Paris-Hilton.wikidot.com on 07/04/2008)
Rating
Paris-Hilton.wikidot.com
 
Comment #76  (Posted by an unknown user on 07/14/2008)
Rating
mmmm
 
Comment #77  (Posted by an unknown user on 08/23/2008)
Rating
Nice writing. You are on my RSS reader now so I can read more from you down the road.
 
Comment #78  (Posted by Russo on 09/22/2008)
Rating
hHzpO8 Hello
I am Russo
 
Comment #79  (Posted by PbtnvrSUgWWWnJnlwna on 12/03/2008)
Rating
4_2forpost.txt;10;15
 
Comment #80  (Posted by Ndkvicrk on 12/13/2008)
Rating
Thanks!,
 
Comment #81  (Posted by an unknown user on 02/03/2009)
Rating
softly
 
Comment #82  (Posted by Lexus on 04/13/2009)
Rating
Good site, admin.
 
Comment #83  (Posted by Alex on 05/13/2009)
Rating
Good site, admin.
 
Comment #84  (Posted by an unknown user on 06/25/2009)
Rating
No Comments in the code
 
Comment #85  (Posted by an unknown user on 07/18/2009)
Rating
its really a self explanatory and stand alone tutorial
 
Comment #86  (Posted by ren on 07/24/2009)
Rating
Your statement about learning programming is the situation that I am in. There are either just beginner books or highly advanced books. I appreciate you posting this type of beginner stuff on this website.

 
Comment #87  (Posted by Barbara51 on 10/22/2009)
Rating
For better or worse, the label virtual reality stuck to this particular branch of computer graphics. ,
 
Sponsored Links