-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は「赤」と言うように設定されており、データベースの行には「赤」と言うようにサイロが設定されています

代わりに行うことができます

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

また、テキストフィールドから空白を削除する必要があることに注意してください。

ところで、この種のコードは SQL インジェクション攻撃に対して非常にオープンです...これが本番アプリになる場合は、そのトピックを読み、この主要なセキュリティ ホールを修正することをお勧めします。そうしないと、txtSilo などに渡された正しい値を使用して、テーブルのすべての行を削除することができます。

于 2013-01-16T06:53:57.953 に答える