我想請問遇到這問題該如何處理呢?
以下是我的程式碼
 var sSql = @"SELECT 'Tenno', NO
             FROM TABLEA
             WHERE NO NOT IN (SELECT LNO FROM TABLEB WHERE  LID= 'Tenno' )
             AND NO in (:NO)";
 var ExecuteResult = await conn.ExecuteAsync(sSql, new
                    {                      
                        NO =  NO
                    });
其中參數NO是這樣顯示

這樣執行出來他直接顯示ORA-01722這個錯誤
可是我再PLSQL裡執行卻沒問題
 SELECT 'Tenno', NO
         FROM TABLEA
         WHERE NO NOT IN (SELECT LNO FROM TABLEB WHERE  LID= 'Tenno' )
         AND NO in ('2','3')  
我是用C# + DAPPER 然後DB是ORACLE
我可以請問這個該如何調整呢?
更新,已解決
改為"2,3"並且字串切割然後直接傳進去即可
順便想請問一下,有沒有人做過WPF 呼叫API然後使用DAPPER
我有個表單裡面顯示所有的TABLE,我希望點選某個TABLE的名稱
然後會顯示該TABLE的資料,目前再想DAPPER該回傳什麼
然後可以讓我WPF解讀呢?
不要直接將變數值插入 SQL 查詢中,因為這可能會導致 SQL 注入攻擊。改為使用參數化查詢以防止這種風險。
var sSql = @"
    SELECT 'Tenno', NO
    FROM TABLEA
    WHERE NO NOT IN (SELECT LNO FROM TABLEB WHERE LID = @LID)
    AND NO IN @NOList";
var ExecuteResult = await conn.ExecuteAsync(sSql, new
{                      
    LID = "Tenno",
    NOList = new[] { NO }
});