0

データベースからすべての結果を取得するために最初に呼び出したいクエリがあります。

次に、コンボボックスが更新されたときに、列のみをキャッチするようにしたいと思いますWHERE column = SelectedItemFromComboBox

すべて完了しました。私が見逃しているのは、クエリを実行する方法だけです。

SELECT *
FROM Table1
WHERE Column1 = ALL;

更新できるように

SELECT *
FROM Table1
WHERE Column1 = SelectedItemFromComboBox;

SelectedItemFromComboBoxすべての値を返すように、最初に文字列を何に設定できますか?

ありがとう。

4

5 に答える 5

5

クエリをに設定SelectedItemFromComboBoxnullて変更します

SELECT *
FROM Table1
WHERE Column1 = SelectedItemFromComboBox
or SelectedItemFromComboBox is null
于 2012-07-02T10:16:11.183 に答える
3

空の文字列のようなものを入れてSelectedItemFromComboBox、クエリを変更できます。

SELECT *
FROM Table1
WHERE SelectedItemFromComboBox = ''
   OR Column1 = SelectedItemFromComboBox;
于 2012-07-02T10:16:25.173 に答える
2
SELECT *
FROM Table1
WHERE Column1 = Column1

すべてのデータを取得します

したがって、null値を使用できます

SELECT *
FROM Table1
WHERE Column1 = isnull(some_value, Column1)

ここで、いくつかの値はNULLです。これを行うには、空の文字列を使用してから、

SELECT *
FROM Table1
WHERE Column1 = isnull(CASE WHEN some_value = '' then NULL  else some_value end)), Column1)

そしてこれはあなたが望むものを返します

于 2012-07-02T10:19:10.570 に答える
0

何らかの理由でクエリを変更できず、入力する値のみを制御でき、パラメータ化されたクエリを使用しておらず、SQLインジェクションから保護する方法を100%知っている場合は、に設定できSelectedItemFromComboBoxます'' OR 1 = 1。これは非常にまれであり、制御できない不正なコードがあり、完全にハックである場合にのみ必要になります。

于 2012-07-02T10:23:58.837 に答える
0

この条件では、「SelectedItemFromComboBox」を0に設定し、この方法でクエリを更新して、最初の条件が0 = 0のOR条件と一致しない場合に、すべてのレコードを初期コンボボックス値として返すことができます。

SELECT * FROM Table1

WHERE Column1 = SelectedItemFromComboBox OR 0 = SelectedItemFromComboBox;

于 2012-07-02T10:20:02.727 に答える