2017-05-23 12 views
0

DueInTableというテーブルがあり、フィールドにはRepairNumberというフィールドがあります。空でないセル上のセルを探します

このフィールドが空でないgridDataViewにレコードを返すだけのSQL文を書くにはどうすればよいですか?

これは私がフォームのOnLoadイベントに入れて試してみましたが何である:

label1.BackColor = Color.Transparent; 
OleDbCommand command = new OleDbCommand(); 
command.Connection = connection; 
string data = "Select * from DueInTable WHERE RepairNumber = !NULL"; 
DataTable dt = new DataTable(); 
DataSet ds = new DataSet(); 
OleDbDataAdapter adapter = new OleDbDataAdapter(new OleDbCommand(data, connection)); 
adapter.Fill(ds); 
DataView DV = new DataView(); 
DV.Table = ds.Tables[0]; 
Repair_dtGrdVw.DataSource = DV; 
+2

構文は 'すべてのデータベースでは、NULL'ではありません:is (not) nullオペレータがある理由です

。あなたは正しい比較演算子を使用したとしても、NULLに何も比較することはできません –

答えて

3

NULL(またはしないNULL値)を探して、あなたがIS NULLIS NOT NULLを使用する必要があります。

だからあなたのクエリは次のようになります。

Select * from DueInTable WHERE RepairNumber IS NOT NULL 
+0

私が家に帰るときにそれを行ってくれてありがとう。 –

0
Select * from DueInTable WHERE RepairNumber IS NOT NULL 
0

ことは、これを試してみてください:

string data = "Select * from DueInTable WHERE RepairNumber IS NOT NULL"; 
5

WHERE RepairNumber = !NULLは実際にrepairNumberが何か '未定義'ないSQL を意味します。 '未定義のもの'(またはその値を決めることができないもの)は決して「何か未定義」になることはありませんので、=と比較すると常に失敗します。

WHERE RepairNumber is not null 
関連する問題