2016-09-19 1 views
0

エラー:追加情報:クエリ式 '[SKU N#]!=' ''の構文エラー(演算子がありません)。Excelのデータを取得中にセル内のヌルと空文字列を確認します。

if (getFileExtension.ToLower() == ".xls") 
          { 
           conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + getFileName + ";Extended Properties=\"Excel 8.0;HDR=Yes;;IMEX=1\""; ; 
          } 
          else if (getFileExtension.ToLower() == ".xlsx") 
          { 
           conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + getFileName + ";Extended Properties=\"Excel 12.0;HDR=Yes;;IMEX=1\""; 
          } 
          OleDbConnection con = new OleDbConnection(conString); 
          if (con.State == ConnectionState.Closed) con.Open(); 
          System.Data.DataTable ExcelSheets = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); 
          string SpreadSheetName = ExcelSheets.Rows[0]["TABLE_NAME"].ToString(); 

          switch (UpdateProductViewModel.ProductDataType) 
          { 
           case 1: 
            query = "SELECT * FROM [" + SpreadSheetName + "] WHERE [SKU N#] !='' AND [SKU N#] NOT LIKE '%P'"; 
            break; 
           case 2: 
            query = "SELECT * FROM [" + SpreadSheetName + "] WHERE [SKU N#] !='' AND [SKU N#] LIKE '%P'"; 
            break; 
           case 3: 
            query = "SELECT * FROM [" + SpreadSheetName + "] WHERE [SKU N#] !=''"; 
            break; 
          } 

私は[SKU Nの#] を削除!= ''この行は、それが正常に動作し、そこから。私はここで間違っていますか?

+0

を使用してお勧めします。 –

+0

@ KeyurPATEL '!='は有効な演算子ではありませんか? – sachin

+0

@ KeyurPATELはお返事ありがとうございます。その働き。どうもありがとう。 –

答えて

1

は、私は問題があなたの列がNULLだけではなく、空白文字列を持っているということだと思います。

NULLに値がないため、値はNULLと等しい(または等しくない)ことはありません。

WHERE NOT [SKU N#] = ''おそらくNULL値をチェックする最良の方法ではありません。

私の代わりに、 ` '' = WHERE NOT [SKU Nの#]`試しWHERE [SKU N#] IS NOT NULL AND [SKU N#] != ''

関連する問題