我有一个已连接到SQL Server的Web表单。我可以插入,但如果表已经有相同的信息,我不知道如何进行验证以不插入数据。
如何完成此过程?
doVerb
答案 0 :(得分:0)
您正在使用输入参数。像这样的行:
cmd.Parameters.AddWithValue("@Expe", TextBox1.Text);
他们被认为是输入参数。验证数据的一种方法是使用Output参数。类似的东西:
SqlParameter outParam = cmd.Parameters.Add("@MyParam", sqlDbType.Uniqueidentifier);
outParam.Direction = ParameterDirection.Output;
将其传递给存储过程,该存储过程确定是否存在记录,并传递布尔值" True"或"错误"回到你的C#代码。 然后,您可以检查outParam的值,并确定是否要继续处理代码。
答案 1 :(得分:0)
除了在数据库中进行正确的完整性检查之外,您还可以应用WHERE NOT EXISTS子查询。
INSERT INTO PreExp1 (Expe, Usuario)
VALUES (@Expe, @Usuario)
WHERE NOT EXISTS (SELECT * FROM PreExp1
WHERE Expe = @Expe
AND Usuario = @Usuario)