SQL语句没有返回实际结果

时间:2013-01-16 06:47:51

标签: vb.net

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

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

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

1 个答案:

答案 0 :(得分:1)

只是一个猜测,但你在那里做一个区分大小写的比赛。可能是你的txtSilo.Text被设置为说“红色”,数据库中的行将Silo设置为“红色”

你可以改为

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

请记住,您也应该修剪Textfield中的空白。

BTW这种代码对SQL注入攻击非常开放......我建议阅读该主题并修复这个主要的安全漏洞,如果这将是一个生产应用程序。否则,有人可以说删除表中的所有行,并将正确的值传递给txtSilo等。