我正在尝试插入SQL Server数据库。我有一个包含四列的表,主键是三列<name, coursename, semester>
的组合。
我正在尝试在此表中插入一条记录,我希望程序在插入副本时给出错误。但是,当我插入但未插入记录时,不会发出错误。
有人可以告诉我代码的问题吗?谢谢
以下是我的代码的一部分:
try
{
string semester1 = semester.Text + syear.Text + "-" + eyear.Text;
SqlConnection conn = new SqlConnection("Data Source=SOURAYA-PC\\SQLEXPRESS; Initial Catalog=transcripts;Integrated Security=True");
SqlCommand command3 = new SqlCommand("insert into courses(name, coursename, semester, grade) values('" + DropDownList1.SelectedItem.Text + "','" + course_name.Text + "','" + semester1 + "',"+grades.Text+"')", conn);
conn.Open();
command3.ExecuteNonQuery();
}
catch (SqlException s)
{
if (s.Number == 2627)
{
error.Text = "Record already exists";
}
}
答案 0 :(得分:0)
您要么缺少单引号,要么根据成绩列类型而有额外的引用。使用@marc_s表示的参数也可以解决这个问题。
要处理其他情况,您可以添加通用处理程序,如下所示:
else {error.Text =“意外错误编号:”+ s.Number; }