我使用vb.net编写了这段代码,但它给了我错误的结果。
sql = "SELECT * FROM Spec WHERE WheatType= '" & ddlType.SelectedValue & "' AND Category='1BK' AND Silo= '" & txtSilo.Text & "'"
如果我删除Silo= '" & txtSilo.Text & "'
它会给我结果,但它不想要我想要的。任何想法如何解决它?
答案 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等。