2013-02-02 56 views
0

我不知道如何避免SQL注入,有人可以帮我解决我的问题吗?Visual Basic 2010中的SQL注入

这里是我当前的代码:

​​
+0

用[参数](http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx) – rene

+0

带有参数sir rene的SELECT STATEMENT的任何示例?由其他同事指定的 – Danjor

+0

,使用sql参数。我今天为[这个其他问题]写了一个样本(http://stackoverflow.com/a/14660347/1203135),这可能也是你的兴趣所在。 –

回答

3

基本上,无论你是连接字符串,共同创造你的SQL语句,特别是那些来自用户的输入,是脆弱的。

而不是使用SQL参数,它可以添加到您的SQL命令的参数属性(此处为SQLcmd)。

我会告诉你与你的参数之一的例子 - 改变你的SqlCommand文字:

INSERT INTO dbo.Patients(pIDNo, ...) 
VALUES(@pIDNo, ...) 

哪里@pIDNo是字符串参数值,它是由单独发送的“占位符”该命令在SQLParameters collection

然后,您可以添加一个与此“占位符”相同名称的参数,并且该值(它将从为您提供的值中派生出该类型的值)。

下面是从前面的例子中:

SQLcmd.Parameters.AddWithValue("@pIDNo", LabelPNumber.Text) 
+0

你能给我一些与SQL参数代码的例子,我对这个编程领域有点新。我在SELECT语句上有一个SQL参数,但我不知道如何在INSERT语句中执行它,你能给我一个吗? – Danjor

+0

@Danjor我正在编辑它,当你写这个 - 看我的编辑。 – Bridge

+0

感谢代码,我将它应用到我的程序中,我只是想避免SQL注入>。<因为我知道什么是注入器。 – Danjor