Answered by:
Declaring Scalar variable

Question
-
Hi
I developed an application on Visual C#, connected to the sql management studio. I've been able to get data from the database successfully but have not been able to insert into the database. I'm having an sqlException {"Must declare the scalar variable \"@\"."} and here's my code please what I'm I missing?
private void button1_Click(object sender, EventArgs e)
{
string connectionString = @"Data Source=JEREMIAH-HP\SQLEXPRESS;Initial Catalog=CourseInfo;Integrated Security=True";
SqlConnection sqlCon = new SqlConnection(connectionString);
SqlCommand command=new SqlCommand("INSERT INTO STUDINFO_TBL(MATRICNO,FIRST_NAME, LAST_NAME, DEPT,LEVEL,CGPA,MODEOFENTRY) VALUES (@MATRICNO, @ FIRST_NAME, @LAST_NAME, @DEPT, @LEVEL, @CGPA, @MODEOFENTRY),sqlCon)");
command.Parameters.AddWithValue("@MATRICNO", matno.Text);
command.Parameters.AddWithValue("@FIRST_NAME", frstname.Text);
command.Parameters.AddWithValue("@LAST_NAME", lastname.Text);
command.Parameters.AddWithValue("@DEPT", department.Text);
command.Parameters.AddWithValue("@LEVEL", level.Text);
command.Parameters.AddWithValue("@CGPA", mycgpa.Text);
command.Parameters.AddWithValue("@MODEOFENTRY", modeofentry.Text);
command.Connection = sqlCon;
sqlCon.Open();
command.ExecuteNonQuery();
sqlCon.Close();
MessageBox.Show("Record Updated!");
Close();
}
- Moved by Bob Beauchemin Thursday, November 7, 2013 4:22 PM Moved to a more relevent forum
Thursday, November 7, 2013 9:11 AM
Answers
-
I guess the issue is with the SqlCommand string; There is a space in FIRST_NAME parameter between '@' and the name. And also you specified the sqlCon object inside the command string. The actual SqlCommand will be as follows:
SqlCommand command=new SqlCommand("INSERT INTO STUDINFO_TBL(MATRICNO,FIRST_NAME, LAST_NAME, DEPT,LEVEL,CGPA,MODEOFENTRY) VALUES (@MATRICNO, @FIRST_NAME, @LAST_NAME, @DEPT, @LEVEL, @CGPA, @MODEOFENTRY)", sqlCon);
Try this.
Krishnakumar S
- Proposed as answer by Olaf HelperMVP Thursday, November 7, 2013 9:40 AM
- Marked as answer by jerofad Thursday, November 7, 2013 10:09 AM
Thursday, November 7, 2013 9:23 AM
All replies
-
I guess the issue is with the SqlCommand string; There is a space in FIRST_NAME parameter between '@' and the name. And also you specified the sqlCon object inside the command string. The actual SqlCommand will be as follows:
SqlCommand command=new SqlCommand("INSERT INTO STUDINFO_TBL(MATRICNO,FIRST_NAME, LAST_NAME, DEPT,LEVEL,CGPA,MODEOFENTRY) VALUES (@MATRICNO, @FIRST_NAME, @LAST_NAME, @DEPT, @LEVEL, @CGPA, @MODEOFENTRY)", sqlCon);
Try this.
Krishnakumar S
- Proposed as answer by Olaf HelperMVP Thursday, November 7, 2013 9:40 AM
- Marked as answer by jerofad Thursday, November 7, 2013 10:09 AM
Thursday, November 7, 2013 9:23 AM -
thank you so much I didn't notice it.Thursday, November 7, 2013 10:10 AM