用户代码未处理Sql Exception [英] Sql Exception was unhandled by user code

查看:91
本文介绍了用户代码未处理Sql Exception的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好



我想在我的Education_Degree_TB中插入一些数据,但是我要面对下面的错误

为什么我会这样做?

请帮帮我



 System中出现'System.Data.SqlClient.SqlException'类型的异常。 Data.dll但未在用户代码中处理

附加信息:过程或函数'Insert_Education_Degree_TB'需要参数'@Person_ID',但未提供。





我的程序代码



 CREATE程序[dbo]。[Insert_Education_Degree_TB] 
@Person_ID int,
@Field_ID int,
@SubField_ID int,
@Degree_Education nvarchar(50),
@University_Name nvarchar(100),
@Data_Graduated date,
@Experience_Job nvarchar(50)

as
begin
插入Education_Degree_TB值(@ Person_ID,@ Field_ID,@ SubField_ID,@ Degree_Education,@ University_Name,
@ Data_Graduated,@ Experience_Job)
end





我的C#代码



 protected void ButtonEducationDgree_Click(object sender,EventArgs e)
{
SqlCommand cmd2 = new SqlCommand(Insert_Education_Degree_TB,con);
cmd2.CommandType = CommandType.StoredProcedure;
cmd2.Parameters.AddWithValue(@ Person_ID,Session [PersonID]。ToString());
cmd2.Parameters.AddWithValue(@ Field_ID,DropDownList_PersonField.SelectedValue.ToString());
cmd2.Parameters.AddWithValue(@ SubField_ID,DropDownList_PersonSubField.SelectedValue.ToString());
cmd2.Parameters.AddWithValue(@ Degree_Education,DropDownList_PersonDegree.SelectedValue.Trim());
cmd2.Parameters.AddWithValue(@ University_Name,TextBox_UniversityNmae.Text.Trim());
cmd2.Parameters.AddWithValue(@ Data_Graduated,TextBox_DateGraduated.Text.Trim());
cmd2.Parameters.AddWithValue(@ Experience_Job,DropDownList_Experience.SelectedValue);
cmd2.Parameters.Clear();
con.Open();
cmd2.ExecuteNonQuery();
Labelsucces.Visible = true;
Labelsucces.Text =插入教育是成功的;
TextBox_UniversityNmae.Text =;
TextBox_DateGraduated.Text =;
LblErorr.Visible = false;
con.Close();


} // -------- Btton教育结束

解决方案

在您添加所有参数后立即清除它们。



删除此行:

 cmd2.Parameters.Clear(); 


Hello

I want insert some data in my Education_Degree_TB but I face to bellow error
why it happen what I do?
Please help me

An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code

Additional information: Procedure or function 'Insert_Education_Degree_TB' expects parameter '@Person_ID', which was not supplied.



my Procedure code

CREATE procedure [dbo].[Insert_Education_Degree_TB]
@Person_ID int,
@Field_ID int,
@SubField_ID int,
@Degree_Education nvarchar(50),
@University_Name nvarchar(100),
@Data_Graduated date,
@Experience_Job nvarchar(50)

as
begin
Insert into Education_Degree_TB values(@Person_ID,@Field_ID,@SubField_ID,@Degree_Education,@University_Name,
@Data_Graduated,@Experience_Job )
end



My C# code

protected void ButtonEducationDgree_Click(object sender, EventArgs e)
{
    SqlCommand cmd2 = new SqlCommand("Insert_Education_Degree_TB", con);
    cmd2.CommandType = CommandType.StoredProcedure;
    cmd2.Parameters.AddWithValue("@Person_ID",Session["PersonID"].ToString());
    cmd2.Parameters.AddWithValue("@Field_ID", DropDownList_PersonField.SelectedValue.ToString());
    cmd2.Parameters.AddWithValue("@SubField_ID", DropDownList_PersonSubField.SelectedValue.ToString());
    cmd2.Parameters.AddWithValue("@Degree_Education", DropDownList_PersonDegree.SelectedValue.Trim());
    cmd2.Parameters.AddWithValue("@University_Name", TextBox_UniversityNmae.Text.Trim());
    cmd2.Parameters.AddWithValue("@Data_Graduated", TextBox_DateGraduated.Text.Trim());
    cmd2.Parameters.AddWithValue("@Experience_Job", DropDownList_Experience.SelectedValue);
    cmd2.Parameters.Clear();
    con.Open();
    cmd2.ExecuteNonQuery();
    Labelsucces.Visible = true;
    Labelsucces.Text = "Insert Education was Sucsessfuly";
    TextBox_UniversityNmae.Text = "";
    TextBox_DateGraduated.Text = "";
    LblErorr.Visible = false;
    con.Close();


}//--------end of Btton Education

解决方案

Right after you add all the parameters you then clear them out.

Remove this line:

cmd2.Parameters.Clear();


这篇关于用户代码未处理Sql Exception的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆