【发布时间】:2013-03-08 22:30:01
【问题描述】:
大家好,这是第一次使用stackoverflow所以大家好L)
我是 C# 表单的初学者,我把它当作一种有趣的爱好。
SqlCommand comm = new SqlCommand("SELECT COUNT(*) FROM Members where sponser = "
+textbox1.text+"'", connection);
Int32 count = (Int32)comm.ExecuteScalar();
textbox2.Text ="Found "+ count+" Members;
它只是我从谷歌 xD 获得的 2 个代码之间的混合 错误怎么会出现在这里 textbox2.Text ="Found "+ count+" Members;
【问题讨论】:
-
这段代码容易被SQL注入。使用 SqlParameter。
-
这不是你要问的,但第一行代码是一个非常的坏事。它让您对所谓的 SQL 注入攻击敞开心扉。如果您像这样使用 ADO.NET,则需要使用参数化查询:codinghorror.com/blog/2005/04/…
-
@ken2k 我认为大多数发布此类代码的人都不在乎。
-
@Romoku:我认为大多数发布此类代码的人知道或理解,这值得修复。
-
除了易受 SQL 注入攻击之外,它还可能是错误的根源——等号后缺少单引号。