protected void Button2_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source=KING;Initial Catalog=semasinter;Integrated Security=True");
SqlCommand command = new SqlCommand("insert into StudentApplication", conn);
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "spinsertstudentapplication";
command.Parameters.AddWithValue("@Student_id", TextBox1.Text);
//command.Parameters.AddWithValue ("@Select_Course", ddlCourse.SelectedValue);
command.Parameters.AddWithValue("@Select_Country", TextBox4.Text);
command.Parameters.AddWithValue("@Select_State", TextBox2.Text);
command.Parameters.AddWithValue("@Select_Franchise", TextBox3.Text);
command.Parameters.AddWithValue("@Select_Sensei", ddlSensei.SelectedValue);
command.Parameters.AddWithValue("@Group", TextBox6.Text);
command.Parameters.AddWithValue("@Enter_Student_Name", TextBox7.Text);
command.Parameters.AddWithValue("@Enter_Student_Address", TextBox8.Text);
command.Parameters.AddWithValue("@Students_Father_Name", TextBox9.Text);
command.Parameters.AddWithValue("@Student_DOB", TextBox10.Text);
if (RadioButton2.Checked == true)
{
command.Parameters.Add("@Gender", SqlDbType.Bit).Value = true;
}
else
{
command.Parameters.Add("@Gender", SqlDbType.Bit).Value = false;
}
command.Parameters.Add("@Enter_Kyu", SqlDbType.NVarChar).Value = TextBox11.Text;
conn.Open();
int rows = command.ExecuteNonQuery(); //// in these line i got a error message
conn.Close();
}
你可以帮我朋友PLZ
答案 0 :(得分:1)
究竟是什么问题 - 您不知道如何显示错误消息?值得一提的是,用用户输入的数据填充主键通常是不好的做法。
老实说,看起来您要求的解决方案是将MessageBox.Show(ex.Message);
放入catch块中,但这并不涉及此代码背后的深层问题。此外,这假设您在WinForms或WPF应用程序中,可能不是这种情况。您应该发布更多上下文和更具体的问题......
答案 1 :(得分:0)
您可以使用当前studentId检查数据库。如果计数返回> 0,表示已为该学生插入了数据。关键在这里你可以抛出新的例外“这个学生已经存在”
答案 2 :(得分:0)
ALTER PROCEDURE [dbo].[spCheckDupEmployee]
@empId int,
@empName varchar(100),
@empCode varchar(10),
@Message varchar(1000) OUTPUT
AS
SELECT @Message =''
BEGIN
SELECT * FROM Employee WHERE empName = @empName AND empId NOT IN(@empId)--AND cmpDeleteFlag = 0
IF @@ROWCOUNT > 0
BEGIN
SELECT @Message ='Same Employee Name Exists!'
RETURN
END
尝试这种查询来检查重复.. !!
答案 3 :(得分:0)
ALTER PROCEDURE [dbo].[spCheckDupEmployee]
@empId int,
@empName varchar(100),
@empCode varchar(10),
@Message varchar(1000) OUTPUT
AS
SELECT @Message =''
BEGIN
SELECT * FROM Employee WHERE empName = @empName AND empId NOT IN(@empId)--AND cmpDeleteFlag = 0
IF @@ROWCOUNT > 0
BEGIN
SELECT @Message ='Same Employee Name Exists!'
RETURN
END
SELECT * FROM Employee WHERE empCode = @empCode AND empId NOT IN(@empId)--AND cmpDeleteFlag = 0
IF @@ROWCOUNT > 0
BEGIN
SELECT @Message ='Same Employee Code Exists!'
RETURN
END
RETURN
END
这会检查重复并发回一条消息 现在将此消息字符串提供给messagebox.show()方法..
离;
messagebox.show(msg,APPName);