我已经使用 vb.net 编写了这段代码,但它给了我错误的结果。
sql = "SELECT * FROM Spec WHERE WheatType= '" & ddlType.SelectedValue & "' AND Category='1BK' AND Silo= '" & txtSilo.Text & "'"
如果我删除Silo= '" & txtSilo.Text & "'
它会给我结果,但它不想要我想要的。知道如何解决吗?
我已经使用 vb.net 编写了这段代码,但它给了我错误的结果。
sql = "SELECT * FROM Spec WHERE WheatType= '" & ddlType.SelectedValue & "' AND Category='1BK' AND Silo= '" & txtSilo.Text & "'"
如果我删除Silo= '" & txtSilo.Text & "'
它会给我结果,但它不想要我想要的。知道如何解决吗?
只是一个猜测,但您在那里进行区分大小写的匹配。可能是您的 txtSilo.Text 设置为“红色”,并且数据库中的行将 Silo 设置为“红色”
你可以改为
sql = "SELECT * FROM Spec WHERE WheatType= '" & ddlType.SelectedValue & "' AND Category='1BK' AND Silo LIKE '" & txtSilo.Text & "'"
请记住,您还应该修剪文本字段的空白。
顺便说一句,这种代码很容易受到 SQL 注入攻击......如果这将是一个生产应用程序,我建议阅读该主题并修复这个主要的安全漏洞。否则,有人可能会说删除表上的所有行,并将正确的值传递给 txtSilo 等。