Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果数据已经插入到c中的数据库中,如何显示错误消息#_C# - Fatal编程技术网

C# 如果数据已经插入到c中的数据库中,如何显示错误消息#

C# 如果数据已经插入到c中的数据库中,如何显示错误消息#,c#,C#,你能帮我吗?朋友们,你可以用当前的学生ID检查数据库。如果count return>0,则表示已经为该学生插入了数据。关键是你可以抛出新的异常“这个学生已经存在” 尝试使用这种查询来检查重复项 到底是什么问题-您不知道如何显示错误消息?值得一提的是,用用户输入的数据填充主键通常是不好的做法 老实说,看起来你想要的解决方案是放置MessageBox.Show(例如Message)在catch块中,但这并不能解决此代码背后的深层问题。此外,这还假设您在WinForms或WPF应用程序中,情况可能并非

你能帮我吗?朋友们,你可以用当前的学生ID检查数据库。如果count return>0,则表示已经为该学生插入了数据。关键是你可以抛出新的异常“这个学生已经存在”


尝试使用这种查询来检查重复项

到底是什么问题-您不知道如何显示错误消息?值得一提的是,用用户输入的数据填充主键通常是不好的做法

老实说,看起来你想要的解决方案是放置
MessageBox.Show(例如Message)在catch块中,但这并不能解决此代码背后的深层问题。此外,这还假设您在WinForms或WPF应用程序中,情况可能并非如此。你可能应该发布更多的上下文和一个更具体的问题

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
这将检查重复并发回消息。
现在将此消息字符串赋给messagebox.show()方法


帮忙?用什么?您没有问任何问题。您收到了什么错误消息?请告诉我们有关您要插入的表的更多信息。它有唯一的索引吗?你们现在有什么例外吗?如果有,他们怎么说?不同的题目,不同的帖子里的问题??我回答了你的问题,这取决于标题。不要老是重复这个问题。如果您想添加详细信息,请编辑此内容。如果您发布代码或XML,请在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码”按钮(101 010),以精确地格式化和语法突出显示它!如果您发布代码或XML,请在文本编辑器中突出显示这些行,并单击编辑器工具栏上的“代码”按钮(101 010),以很好地格式化和语法突出显示它!
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
    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(msg,APPName);