-1

我已经使用 vb.net 编写了这段代码,但它给了我错误的结果。

 sql = "SELECT * FROM Spec WHERE WheatType= '" & ddlType.SelectedValue & "' AND Category='1BK' AND Silo= '" & txtSilo.Text & "'"

如果我删除Silo= '" & txtSilo.Text & "'它会给我结果,但它不想要我想要的。知道如何解决吗?

4

1 回答 1

1

只是一个猜测,但您在那里进行区分大小写的匹配。可能是您的 txtSilo.Text 设置为“红色”,并且数据库中的行将 Silo 设置为“红色”

你可以改为

sql = "SELECT * FROM Spec WHERE WheatType= '" & ddlType.SelectedValue & "' AND Category='1BK' AND Silo LIKE '" & txtSilo.Text & "'"

请记住,您还应该修剪文本字段的空白。

顺便说一句,这种代码很容易受到 SQL 注入攻击......如果这将是一个生产应用程序,我建议阅读该主题并修复这个主要的安全漏洞。否则,有人可能会说删除表上的所有行,并将正确的值传递给 txtSilo 等。

于 2013-01-16T06:53:57.953 回答