I have checked many posts on Stackoverflow but I am still stuck with the query below. I am a beginner learning C# and would request help.
Error: Incorrect Syntax near keyword ELSE
I am trying to check if the Question1 or Question2 if either of them is selected the below should be executed. Also other time it gave me an error @answer2 not defined.
string query = @"IF EXISTS(SELECT * FROM dbo.tbl_pkt_Answers_Submitted WHERE (Questions = @Question1 or Questions = @Question2))
UPDATE dbo.tbl_pkt_Answers_Submitted
SET AnswersSubmitted = @Answer1
WHERE Questions = @Question1;
UPDATE dbo.tbl_pkt_Answers_Submitted
SET AnswersSubmitted = @Answer2
WHERE Questions = @Question2;
ELSE
INSERT INTO dbo.tbl_pkt_Answers_Submitted(Questions, AnswersSubmitted)
VALUES (@Question1, @Answer1), (@Question2, @Answer2);";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.Add("@Question1", lblQuestion1.Text);
cmd.Parameters.Add("@Question2", lblQuestion2.Text);
if (rdq1a1.Checked)
{
cmd.Parameters.Add("@Answer1", rdq1a1.Text);
}
if (rdq1a2.Checked)
{
cmd.Parameters.Add("@Answer1", rdq1a2.Text);
}
if (rdq1a3.Checked)
{
cmd.Parameters.Add("@Answer1", rdq1a3.Text);
}
if (rdq1a4.Checked)
{
cmd.Parameters.Add("@Answer1", rdq1a4.Text);
}
if (rdq2a1.Checked)
{
cmd.Parameters.Add("@Answer2", rdq2a1.Text);
}
if (rdq2a2.Checked)
{
cmd.Parameters.Add("@Answer2", rdq2a2.Text);
}
if (rdq2a3.Checked)
{
cmd.Parameters.Add("@Answer2", rdq2a3.Text);
}
if (rdq2a4.Checked)
{
cmd.Parameters.Add("@Answer2", rdq2a4.Text);
}
con.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("Your Data has been saved");
con.Close();