2009-08-04 61 views
0

我想知道如果任何人都可以给我下了分贝使用存储过程在一个SQL插入数据的最佳实践模式的链接。我的意思是,我们应该采取什么程序来确保经过存储过程的验证数据通过。最佳实践使用asp.net中存储过程将数据插入

+0

我不明白你的问题。显而易见的答案是,“在使用之前验证数据”,但这太明显了,无法表达您的意思。请澄清。 – 2009-08-04 16:04:50

+0

行为就像数据没有得到验证时一样吗? – Martin 2009-08-04 16:12:53

+0

不,我正在验证数据,大小和数据类型。但是如果一些黑客试图添加一些JavaScript代码或SQL代码会怎么样。我怎样才能捕捉这些东西? 此外,如果我只是使用此语句输入参数 cm.Parameters.AddWithValue(“@ UserID”,TxtID.Text.ToString()); 我只是想知道这些东西是否有一个很好的练习模式。 – Mohit 2009-08-04 16:18:18

回答

1

有许多不同的方法可以做到这取决于如果您使用的是ORM或者使用直接访问数据库。有一件事是你应该使用SqlParameter对象来创建SP参数。有各种各样的方法来创建各种选项的SqlParameter但最简单的形式是

SqlParameter[] prms = new SqlParameter[1]; 
prms[0] = new SqlParameter("@userid", "Bob"); 
2

我会建议您在层以上存储过程执行嵌入了验证任何逻辑。通过这种方式,您可以在实施和暴露方面拥有更多的灵活性。一个简单的例子是您可以在多个项目中重用验证库。大多数ORM库通过在编译时验证适当的类型分配来以最简单的形式支持验证。

我还建议你在以上的层的存储过程中实现你的事务逻辑。