在sql select语句中连字符

时间:2011-05-03 16:12:47

标签: c# sql-server visual-studio-2010 sql

这是我非常简单的选择陈述:

select * from ProductDimensions where Item='100-1000'

当输入SSMS时,它会查询并返回结果。在VS中运行我的程序时,它什么都不返回。没有连字符的项目返回正常。是否需要一些特殊的语法才能使用我的C#代码?

C#代码:

adapter = new SqlDataAdapter("select * from ProductDimensions where Item='100-1000'", conn);
adapter.Fill(dataSet);

就像我说的,如果我输入一个没有连字符的数字,例如'1000',它就可以了。

1 个答案:

答案 0 :(得分:5)

尝试使用参数化的SQL字符串,您将避免像这样的问题,以及SQL注入等其他问题:

adapter = new SqlDataAdapter("select * from ProductDimensions where Item=@Item";
adapter.Parameters.Add("@Item", SqlDbType.NChar, 15, "100-1000");

(您可能需要调整SqlDbType和长度)