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は「赤」と言うように設定されており、データベースの行には「赤」と言うようにサイロが設定されています
代わりに行うことができます
sql = "SELECT * FROM Spec WHERE WheatType= '" & ddlType.SelectedValue & "' AND Category='1BK' AND Silo LIKE '" & txtSilo.Text & "'"
また、テキストフィールドから空白を削除する必要があることに注意してください。
ところで、この種のコードは SQL インジェクション攻撃に対して非常にオープンです...これが本番アプリになる場合は、そのトピックを読み、この主要なセキュリティ ホールを修正することをお勧めします。そうしないと、txtSilo などに渡された正しい値を使用して、テーブルのすべての行を削除することができます。