2015-08-20 47 views
-2

你好,我有我的C#代碼如下:變換C#SQL到SQL

if (Combos.Count > 0) 
       cmd.CommandText += "  " + (Skus.Count > 0 ? "AND" : "") + getValues("VENTAS1.Cod_Combo", (ModelObject[])Combos.ToArray()); 

這是正確的轉換到SQL?:

if (@Combos <> '') 
       SET @SQL = @SQL + '  ' 
       IF(@Skus <> '') 
       SET @SQL = @SQL + 'AND' 
       ELSE 
       SET @SQL = @SQL + '' 
       SET @SQL = @SQL + ' VENTAS1.Cod_Combo IN ' + @Combos 

林節省一切@SQL。 不要擔心Combos.Count > 0Combos <> '',因爲上面有一個函數計算「Combos」的數量,所以它不會是COUNT(@Combos > 0),您可以放心地忽略它。 我想我需要一些BEGIN和END,但我不是100%確定。

最好的問候,

+1

我會使用SQL分析器來查看代碼在幕後做了些什麼。它並不總是最高效的SQL查詢被執行,但它肯定是庫的精確轉換。 – Francisco

回答

0

好吧,我解決這個問題。

if (@Combos <> '') 
      BEGIN 
       SET @SQL = @SQL + '  ' 
        IF(@Skus <> '') 
        BEGIN 
        SET @SQL = @SQL + 'AND' 
        END 
        ELSE 
        BEGIN 
        SET @SQL = @SQL + '' 
        SET @SQL = @SQL + ' VENTAS1.Cod_Combo IN ' + @Combos 
        END 
      END 

感謝您的支持!