我在使用sql server2008存储数字,百分比等数据库的winforms上创建一个标记表..但是,我在使用以下代码时遇到了上述异常错误:“真实”附近的语法不正确。关键字'where'的语法不正确
private void button1_Click(object sender, EventArgs e)
{
float a = float.Parse(textBox1.Text);
float b = float.Parse(textBox2.Text);
float c = float.Parse(textBox3.Text);
float d = float.Parse(textBox4.Text);
float f = float.Parse(textBox5.Text);
float g = (a + b + c + d + f);
float h = (g/500) * 100;
label11.Text = Convert.ToString((g));
label14.Text = Convert.ToString(h + "%");
label11.Visible = label14.Visible = true;
SqlConnection con = new SqlConnection("Data Source=Emmad-PC;Initial Catalog=SchoolManagement;User ID=sa;Password=lenovo");
SqlCommand j =new SqlCommand("Insert into Marksheet(RollNo, English, Math, Science, PSt, Islamiat, Total, Percentage) where values(@ROLL NO, @English, @Math, @Science, @Pakistan Studies, @Islamiat, @Total, @Percentage",con);
j.Parameters.AddWithValue("@ROLL NO",float.Parse(textBox6.Text));
j.Parameters.AddWithValue("@English", float.Parse(textBox1.Text));
j.Parameters.AddWithValue("@Math", float.Parse(textBox2.Text));
j.Parameters.AddWithValue("@Science", float.Parse(textBox3.Text));
j.Parameters.AddWithValue("@Pakistan Studies", float.Parse(textBox4.Text));
j.Parameters.AddWithValue("@Islamiat", float.Parse(textBox5.Text));
j.Parameters.AddWithValue("@Total",Convert.ToString(label11.Text));
j.Parameters.AddWithValue("@Percentage",Convert.ToString(label14.Text));
con.Open();
j.ExecuteNonQuery();
con.Close();
}
您的建议将是非常可观的:)
正如其他人所说的,你应该删除'where',你写什么意图? – HoneyBadger
除了其他意见,你还有其他一些问题在这里。首先是你的桌子看起来非常不规范。其次是你正在使用花车存储成绩。浮点数据类型是近似值,在精确值很重要时不应使用。在这种情况下,int或numeric可能是更好的选择。最后但并非最不重要的一点是,您的Total列应该是一个计算列,因此您不会将该值与其他列值不同步。 –