- Duration: Flexible
Course details
I created this course with a C# beginner in mind. Someone, who knows the basic C# concepts, and knows his way around loops, conditional statements, arrays, and very basics of object oriented programming, but never really had a chance to incorporate any of it with a relational Database project. If that describes you, then this is definitely a course for you.
For this course, I decided to use a Microsoft Access database, as that is a common database small business use around the world. Now, full disclosure: we won't be creating any earth shattering application and there will be a lot of room for improving our code. What we ARE going to be doing is LEARNING how to use with C# with MS Access, and we'll use a simple, but fairly common scenario - a small books database app.The goal of this course is three fold
- First, is to show you how things work
- Second, help you understand how things work under the hood.
- And third, to drill the basics so that they become a second nature to you.
We will use Windows Forms as the user Interface and we'll use form events to code the application logic to. This way, we won't get distracted with million other little things that come into play for truly well designed commercial app. Like I said, the goal here is to LEARN the basics, and to RETAIN the knowledge.
From my own experience, from the beginners point of view, nothing is worse than taking a course to learn the basics, only to suddenly be introduced to a dozens of advanced real world concepts, that completely derail you from learning what you came here to learn in the first place...which is, the basics. What good is it for a beginner to watch someone build professional grade app when three quarter of the stuff presented goes right over your head? Not in this course.
However, with that being said, if you go through this course, and if you code along, I am absolutely sure that at the end, you will have great foundation to build on, and you will be able to move to more sofisticated applications and coding styles.
The course consists of several sections. The first few sections introduce the basic concepts, such connecting to database, browsing through the records, binding database fields with form objects in the windows forms and other core concepts related to databases as well as windows forms.
First project is a small Data Entry application. This project does not include database yet. We will create a simple data entry form and explore few properties and form objects. This project serves as a simple introduction or a refresher, and if you are familiar with basics of windows forms and the concept of properties and events, then you can safely skip this project. However, there still may be a few things you could learn from this project, as we will be working with timer, key press events, mouse events, and form elements in the run time.
Second project will be a mix of theory and practice. We'll spend a few minutes going through some basic theory where we will discuss some basic database concepts, SQL commands, and C# database objects and after each lesson, I will demonstrate a practical use of each of the concepts.
In our third project, we start putting the theory into practical use. It'll be just a simple project that loads data into our form from one table, but we will see in action how to connect to the database and how to select records from the table. Ir will also be a little departure from previous examples, as we will use a different database.
Fourth project is na SQL tester. Here, we will be able to test SQL commands. We'll use all the knowledge we acquired thus far, and introduce some cool techniques in the Windows Forms allowing us to create form elements at run time. And, we will have a small, but functional practice environment for SQL commands.
Fifth project is the last, and most comprehensive one. We will create a small books database app. Until this project, we were only displaying records, but now, we will learn to add new records, edit or delete existing records, we will work with multiple forms and tables, put in place an application state for different actions - such as enable and disable controls based on user's action, and also learn how to pass data from one form to another.
This whole course is designed as follow along course. Meaning, you are encouraged to code along with me. Everything is on the video, there are no code snippets being magically pasted into the Visual Studio. Also, I don not want you to just learn the concepts and then forget them a week later. I want you to remember and retain what you learn in this course.
And let's face it - that is only possible when you not only work on the project along with me, but also try to do the exercises. Trying to solve problems on your own is at the core of learning to program. However, I won't just leave you figure things on your own, I am well aware that sometimes it may feel overwhelming. So I will also show you my solutions.
And one more thing that makes or breaks learning to program - using what you learn, and using it frequently. Therefore, I code even the repetitive things from scratch and I don't simply just refer you to previous lessons. But that means, that if you just watch the course, it will feel repetitive. However, if you actually code along, I guarantee you will feel like you learn, and also REMEMBER what you learned.
But, If you prefer more instructional videos, that show everything once and move faster, then this course is not for you. Please keep that in mind before purchasing the course. I encourage you to watch some of the sample videos so you get a feel for the course structure and my teaching style.
Now, I made the videos short and to the point. Most videos are only around 5 minutes long. That is deliberate, so each video is a small learning step that is easy to follow.
Alright, there's a lot of coding to be done. So let's get to it!