2009-05-17 4 views
0

私は、GridViewのカスタムSQL文でカスタムSQLパラメータ - C#

SELECT 
    [ItemID], [Name], [RelDate], [Price], [Status] 
FROM 
    [item_k] 
WHERE 
    [ItemID] IN (" + itemIDs + ") 

を次のSQLクエリを置くと、それが変換されます、

SELECT 
    ItemID, Name, RelDate, Price, Status 
FROM 
    item_k 
WHERE 
    (ItemID IN ([ + itemIDs + ])) 

とIクエリを実行すると、次のエラーが表示されます。

SQL Execution Error 
Invalid column name '+ itemIDs+' 

何が問題だと思われますか?

ありがとう

答えて

1

一重引用符で囲みましたか?

1

文字列concatメソッドの問題は、SQLインジェクションに脆弱になる可能性があることです。私はこのアプローチを修正しようとはしませんが、文字列の連結を必要としないパラメータ化されたクエリを実行します。

0
SELECT [ItemID], [Name], [RelDate], [Price], [Status] FROM [item_k] WHERE [ItemID] IN (' + itemIDs + ') 

は」に「変更し、それは働いた!

+0

ああ、私の悪い削除取り消しを。 – TonyArra

関連する問題