Escolar Documentos
Profissional Documentos
Cultura Documentos
use Quizing_System --Drop table IF EXISTS(SELECT * FROM [SYSOBJECTS] WHERE [ID] = OBJECT_ID('Quiz') AND [XTYPE] = 'U') DROP TABLE Quiz GO --Create table CREATE TABLE Quiz ( QuizId INT IDENTITY(1,1), QuizName VARCHAR(50) NOT NULL, IsActive BIT NOT NULL DEFAULT 1, CreateDate DATETIME NOT NULL, CreateBy VARCHAR(50) NOT NULL, UpdateDate DATETIME NULL, UpdateBy VARCHAR(50) NULL ) GO ALTER TABLE Quiz ADD CONSTRAINT [DF_Quiz_CreateDate] DEFAULT GETDATE() FOR [CreateDate] GO ALTER TABLE Quiz ADD CONSTRAINT [DF_Quiz_CreateBy] DEFAULT SYSTEM_USER FOR [CreateBy] GO
--Create triggers CREATE TRIGGER tg_Quiz_Update ON Quiz AFTER UPDATE AS BEGIN UPDATE Quiz SET [UpdateDate] = GETDATE(), [UpdateBy] = SYSTEM_USER FROM Quiz [Q] INNER JOIN [INSERTED] [I] ON [Q].[QuizId] = [I].[QuizId] END GO
GO --Create table CREATE TABLE Question ( QuizId QuestionId Question CreateDate CreateBy UpdateDate UpdateBy )
NULL, IDENTITY(1,1), NOT NULL, NOT NULL, NOT NULL, NULL, NULL
GO ALTER TABLE Question ADD CONSTRAINT [DF_Question_CreateDate] DEFAULT GETDATE() FOR [CreateDate] GO ALTER TABLE Question ADD CONSTRAINT [DF_Question_CreateBy] DEFAULT SYSTEM_USER FOR [CreateBy] GO --Create triggers CREATE TRIGGER tg_Question_Update ON Question AFTER UPDATE AS BEGIN UPDATE Question SET [UpdateDate] = GETDATE(), [UpdateBy] = SYSTEM_USER FROM Question [Qu] INNER JOIN [INSERTED] [I] ON [Qu].[QuestionId] = [I].[QuestionId] END GO
IDENTITY(1,1), NOT NULL, NULL, DEFAULT 0 NOT NULL, NOT NULL, NOT NULL, NULL, NULL
GO ALTER TABLE Options ADD CONSTRAINT [DF_Options_CreateDate] DEFAULT GETDATE() FOR [CreateDate] GO ALTER TABLE Options ADD CONSTRAINT [DF_Options_CreateBy] DEFAULT SYSTEM_USER FOR [CreateBy] GO --Create triggers CREATE TRIGGER tg_Option_Update ON Options AFTER UPDATE AS BEGIN UPDATE Options SET [UpdateDate] = GETDATE(), [UpdateBy] = SYSTEM_USER FROM Options [Op] INNER JOIN [INSERTED] [I] ON [Op].[OptionId] = [I].[OptionId] END GO CREATE TRIGGER tg_Options_Insert ON Options FOR UPDATE AS BEGIN UPDATE dbo.QuestionOptionMapping SET OptionId = (SELECT OptionId FROM INSERTED), Options = (SELECT Options FROM INSERTED) WHERE QuestionId = (SELECT QuestionId FROM INSERTED)
END GO
INT IDENTITY(1,1) VARCHAR(50) varchar(30) INT VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(10) DATETIME VARCHAR(50) DATETIME VARCHAR(50)
NOT NULL , NOT NULL, not NULL, NOT NULL, NOT NULL, NOT NULL, NULL, NULL, NOT NULL, NOT NULL, NULL, NULL
GO ALTER TABLE User1 ADD CONSTRAINT [DF_User_CreateDate] DEFAULT GETDATE() FOR [CreateDate] GO ALTER TABLE User1 ADD CONSTRAINT [DF_User_CreateBy] DEFAULT SYSTEM_USER FOR [CreateBy] GO CREATE TRIGGER tg_User_Update ON user1 AFTER UPDATE AS BEGIN UPDATE User1 SET [UpdateDate] = GETDATE(), [UpdateBy] = SYSTEM_USER FROM User1 [u] INNER JOIN [INSERTED] [I] ON [u].[userId] = [I].[UserId] END GO
INT INT
STORED PROCEDURES
@QuestionFull Varchar(100), @Options Varchar(100), @QuestionId INT, @OptionId INT ) AS INSERT INTO QuestionOptionMapping(Question,Options,QuestionId,OptionId) VALUES (@QuestionFull,@Options,@QuestionId,@OptionId)
CreateQuiz.aspx.cs
using using using using using using using using using System; System.Collections.Generic; System.Linq; System.Web; System.Web.UI; System.Web.UI.WebControls; System.Configuration; System.Data.SqlClient; System.Data;
namespace QuizingSystem.Pages { public partial class WebForm3 : System.Web.UI.Page { string constr = ConfigurationManager.ConnectionStrings["ConnectDataBase"].ConnectionString; SqlConnection connection; SqlDataReader dr; //SqlDataAdapter daa; //******************* SqlCommand command4; SqlCommand command5; String spAddQuiz = "AddQuiz"; protected void Page_Load(object sender, EventArgs e) { connection = new SqlConnection(constr); } protected void Button1_Click(object sender, EventArgs e) { command4 = new SqlCommand(spAddQuiz, connection); command4.CommandType = CommandType.StoredProcedure; command4.Parameters.AddWithValue("@QuizName", TbQuizName.Text); connection.Open(); command4.ExecuteNonQuery(); command5=new SqlCommand("Select QuizId from Quiz where QuizName='" +TbQuizName.Text+ "'", connection); dr = command5.ExecuteReader(); dr.Read(); String str = dr.GetInt32(0).ToString(); Session["field1"] = str; Response.Redirect("Home.aspx"); } }}
SetQuestion.aspx.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Configuration; using System.Data.SqlClient; using System.Data; using System.Text; namespace QuizingSystem.Pages { public partial class WebForm1 : System.Web.UI.Page { string constr = ConfigurationManager.ConnectionStrings["ConnectDataBase"].ConnectionString; SqlConnection connection; SqlCommand command1, command2, command3, command4; string spAddQuestion = "AddQuestion"; String spAddOption = "AddOption"; string spAddOptionQuestion = "AddOptionQuestion"; static Int32 QuestionNo1 = 1;
protected void Page_Load(object sender, EventArgs e) { connection = new SqlConnection(constr); string str = (string)(Session["field1"]); LbQuestionNo.Text = QuestionNo1.ToString(); LbQuizId.Text = str; } protected void Button1_Click(object sender, EventArgs e) { QuestionNo1 = QuestionNo1 + 1; LbQuestionNo.Text = QuestionNo1.ToString(); command3 = new SqlCommand(spAddOptionQuestion, connection); command3.CommandType = CommandType.StoredProcedure; SqlParameter OptionIdOut = new SqlParameter("@OptionId", SqlDbType.Int); OptionIdOut.Direction = ParameterDirection.Output;
SqlParameter QuestionIdOut = new SqlParameter("@QuestionId", SqlDbType.VarChar,100); QuestionIdOut.Direction = ParameterDirection.Output; command1 = new SqlCommand(spAddQuestion, connection); command1.CommandType = CommandType.StoredProcedure; command1.Parameters.AddWithValue("@QuestionFull", TbQuestion.Text); command1.Parameters.AddWithValue("@QuizId", LbQuizId.Text); command1.Parameters.Add(QuestionIdOut); connection.Open(); command1.ExecuteNonQuery(); Int32 QuestionIdOutput = Convert.ToInt32(QuestionIdOut.Value.ToString());
string str1 = Tboption1.Text.ToString(); string str2 = Tboption2.Text.ToString(); string str3 = Tboption3.Text.ToString(); string str4 = Tboption4.Text.ToString(); string[] Option = { str1, str2, str3, str4 }; command2 = new SqlCommand(spAddOption, connection); command2.CommandType = CommandType.StoredProcedure;
if (Tboption3.Visible == true && Tboption4.Visible == true) { for (int i = 0; i < 4; i++) { command2.Parameters.AddWithValue("@Option", Option[i]); command2.Parameters.AddWithValue("@QuestionId", QuestionIdOutput); command2.Parameters.Add(OptionIdOut); command2.ExecuteNonQuery(); command2.Parameters.Clear(); command3.Parameters.AddWithValue("@QuestionFull", TbQuestion.Text); command3.Parameters.AddWithValue("@Options", Option[i]); command3.Parameters.AddWithValue("@QuestionId", QuestionIdOutput.ToString()); command3.Parameters.AddWithValue("Optionid", OptionIdOut.Value.ToString()); command3.ExecuteNonQuery(); command3.Parameters.Clear(); } }
if (Tboption3.Visible == false) { for (int i = 0; i < 2; i++) { command2.Parameters.AddWithValue("@Option", Option[i]); command2.Parameters.AddWithValue("@QuestionId", QuestionIdOutput); command2.Parameters.Add(OptionIdOut); command2.ExecuteNonQuery(); command2.Parameters.Clear(); command3.Parameters.AddWithValue("@QuestionFull", TbQuestion.Text); command3.Parameters.AddWithValue("@Options", Option[i]); command3.Parameters.AddWithValue("@QuestionId", QuestionIdOutput); command3.Parameters.AddWithValue("Optionid", OptionIdOut.Value.ToString()); command3.ExecuteNonQuery(); command3.Parameters.Clear(); } }
if (Tboption4.Visible == false && Tboption3.Visible == true) { for (int i = 0; i < 3; i++) { command2.Parameters.AddWithValue("@Option", Option[i]); command2.Parameters.AddWithValue("@QuestionId", QuestionIdOutput); command2.Parameters.Add(OptionIdOut); command2.ExecuteNonQuery(); command2.Parameters.Clear(); command3.Parameters.AddWithValue("@QuestionFull", TbQuestion.Text); command3.Parameters.AddWithValue("@Options", Option[i]); command3.Parameters.AddWithValue("@QuestionId", QuestionIdOutput.ToString()); command3.Parameters.AddWithValue("Optionid", OptionIdOut.Value.ToString()); command3.ExecuteNonQuery(); command3.Parameters.Clear(); }
ClientScript.RegisterStartupScript(typeof(Page), "test", "<script>alert('Question Added');return false;</script>"); Tboption1.Text = null; Tboption2.Text = null; Tboption3.Text = null; Tboption4.Text = null; TbQuestion.Text = null; } protected void Option2_CheckedChanged(object sender, EventArgs e) { LbOption3.Visible = false; LbOption4.Visible = false; Tboption3.Visible = false; Tboption4.Visible = false; op3.Visible = false; op4.Visible = false; } protected void RbOptions3_CheckedChanged(object sender, EventArgs e) { LbOption4.Visible = false; Tboption4.Visible = false; LbOption3.Visible = true; Tboption3.Visible = true; op3.Visible = true; op4.Visible = false; } protected void RbOptions4_CheckedChanged(object sender, EventArgs e) { LbOption3.Visible = LbOption4.Visible = Tboption3.Visible = Tboption4.Visible = op3.Visible = true; op4.Visible = true; } true; true; true; true;
} }