2009-05-17 62 views
0

当我把下面的SQL查询,自定义的SQL参数 - C#

SELECT 
    [ItemID], [Name], [RelDate], [Price], [Status] 
FROM 
    [item_k] 
WHERE 
    [ItemID] IN (" + itemIDs + ") 
在GridView的自定义SQL语句

,它被转化为,

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

,当我执行查询时显示以下错误

SQL Execution Error 
Invalid column name '+ itemIDs+' 

什么似乎是问题?

谢谢

回答

1

你有没有尝试把+ itemIDs +单引号?

1

您的字符串concat方法的问题是它可能会让您容易受到SQL注入攻击。我不会尝试修复这种方法,但是去一个不需要字符串连接的参数化查询。

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

改为“为”和它的工作!

+0

哦,我的坏,未删除。 – TonyArra 2009-05-17 16:41:11