RunCodes
Programming & Tech

How to Create Quiz Application in C#.NET using SQL Server Database and Visual Studio? [With Source Code]

3 4,046

Hello Guyz, In this tutorial we are gonna learn about how you can create quiz application using C#.NET.

Before getting into the topic, let’s understand what is the basic concept, how this is programmatically possible and so on. In general quiz application, user select their answer and click send button to submit their answer to the server (in case of online) or to local database (in case of offline) and then they check their answer by click other button. So, we need to understand programmatically what happen when the user select their answer and click on submit button and what is the operation behind when user click on the check button. Being the programmer you can imagine what operation need to perform to do this using C#.NET.

So, our basic concept is when the user select their answer, their answer need to be inserted into the database and return some value when user click the another button for checking answer. So, for this we are going to create one database in our SQL Server Database Application provided by Microsoft if you don’t have this software download from here and install it. And inside that database we are going to create three table. you can give them any name but for our convenient we give the name of these three table as submittedanswer, answer and compare.

And inside each table we are going to create two column i.e. ID is common in all there table and second column name is: sa in submittedanswer table, ans in answer table and value in compare table. We should store correct answer in answer table by ourself.  So when the user click their answer and click submit button, their answer will store in submittedanswer table and at the same time that submitted answer will compare with the previously stored correct answer which is store in answer table and should store either correct or incorrect value in the third table i.e. in compare table. And when the user click the Check Button the compare table value should be display in the message box. So, This is our Basic concept to do this project. So let’s do it.

Steps:

You can see all the below procedure in the following Video:

[sociallocker]

1. To create a database and table in SQL Server Database, open SQL Server application, and Right click over Database and then click new, give the database name whatever you want and click OK. After then expand that Database directory which you can see in the left pane of the SQL Server Studio Software and expand that Database directory and then expand your recently created Database. And then you will see Table directory. Right click that Table Directory click on Table and click OK. You will see the new window which looks like this:

C#.NET Quiz Application

and then give the column name as i mention earlier for answer table; set the ID data type as int and ans data type as varchar and then right click in that ID column and then click on set primary key. Scroll down below this window and set the identity specification to yes.

C# Quiz Application

Repeat same process for all three table. And then Right click the answer Table and then select Edit top 200 Rows click OK and then write the correct answer in the ans column and don’t write anything in ID because it is primary key and it will be automatically updated by the system and click close button; this will save the correct answer in answer table.

2. Open Visual Studio and then go to file>new>project. Select Visual C#>Windows>Windows Forms Application and give any project name whatever you like and click OK. Now from Toolbox drag and drop four Radio Button, Two Button, One label and drop over that Form. And check the properties of each control by selecting each control (Like radio button text, button text, label text etc. [you can also change the font color, font size etc]). This complete the designing part of our project. Which Looks Like this:

C# Quiz Application

3. We need to connect our application to the database for this, click on the Server Explore which is in the right side of the Toolbox in the left pane of your visual studio. And then right click on the Data Connection>Add connection. New window will appear select your Data Source; in our Case Data Source is Microsoft SQL Server. To do this click on change and select Microsoft SQL Server, Click OK. And then New window will appear, select your Server Name your Database Name and click OK.

C# Quiz Application

4. Now Double Click in that submit button and write the following code:

a. import the namespace at the top of your code.

using System.Data.SqlClient;

b. Declare the variable inside the Class.

string submittedanswer

c. Double Click each Radio Button and inside each Radio Button write this: i.e give the value to each radio button.

submittedanswer = "Nepal";

submittedanswer = "India";

submittedanswer = "China";

submittedanswer = "Srilanka";

d. code inside the clicking event of button.

SqlConnection con = new SqlConnection("Data Source=RAN-PC;Initial Catalog=quizapplication;Integrated Security=True");
SqlCommand cmd = new SqlCommand(@"INSERT INTO [dbo].[submittedanswer]
([sa])
VALUES
('" + submittedanswer + "')", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("your answer is submitted successfully");

//the below sql query is to select only two column fro two table and display the value only if the two column value match.
SqlCommand cmd1 = new SqlCommand("SELECT submittedanswer.sa, answer.ans FROM answer INNER JOIN (SELECT TOP 1 sa FROM submittedanswer order by ID DESC) AS submittedanswer ON submittedanswer.sa=answer.ans", con);
SqlDataAdapter sda = new SqlDataAdapter(cmd1);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count > 0)
{
SqlCommand cmd3 = new SqlCommand(@"INSERT INTO [dbo].[compare]
([value])
VALUES
('correct')", con);
con.Open();
cmd3.ExecuteNonQuery();
con.Close();
}
else
{
SqlCommand cmd3 = new SqlCommand(@"INSERT INTO[dbo].[compare]
([value])
VALUES
('incorrect')", con);
con.Open();
cmd3.ExecuteNonQuery();
con.Close();

NOTE: Change this code in your context (because your connection string (Data Source=RAN-PC;Initial Catalog=quizapplication;Integrated Security=True) is different than mine)

4. Write the following code inside the check button:

SqlConnection con = new SqlConnection("Data Source=RAN-PC;Initial Catalog=quizapplication;Integrated Security=True");
SqlCommand cmd4 = new SqlCommand("SELECT TOP 1 value FROM compare ORDER BY ID DESC", con);
SqlDataAdapter sda = new SqlDataAdapter(cmd4);
DataTable dt = new DataTable();
sda.Fill(dt);
MessageBox.Show("your answer is " + dt.Rows[0][0]);

5. Run your project by click the green triangular button, select any radio button and click submit and click check button to check your submitted answer.

[/sociallocker]

That’s it. And if you like this tutorial don’t forget to share this with your friends and write your perception about this article in your comment section. Thank you 🙂

 

If you have any confusion, you can watch the following videos:

 

 

 

Show Comments (3)