Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C SQL Server:在where子句中使用数字字符串的查询无法正常工作_C#_Sql Server - Fatal编程技术网

C# C SQL Server:在where子句中使用数字字符串的查询无法正常工作

C# C SQL Server:在where子句中使用数字字符串的查询无法正常工作,c#,sql-server,C#,Sql Server,我有一个列RES_LOCALIZADOR,它是一个数字字符串。。不过这应该是个大问题 执行此查询时,虽然没有失败,但在应该返回的时候不会返回任何值。我添加了CAST函数,以防止在转换varchar值之前发生的错误溢出sql server中的int列 var str = new StringBuilder(); str.AppendLine(" SELECT WEB_codigo "); str.AppendLine(" FROM[intra

我有一个列RES_LOCALIZADOR,它是一个数字字符串。。不过这应该是个大问题

执行此查询时,虽然没有失败,但在应该返回的时候不会返回任何值。我添加了CAST函数,以防止在转换varchar值之前发生的错误溢出sql server中的int列

            var str = new StringBuilder();
        str.AppendLine(" SELECT WEB_codigo ");
        str.AppendLine(" FROM[intranetMinorista].[dbo].[RESERVA] R WITH(NOLOCK) ");
        long value = 206627660;
        str.AppendFormat(" WHERE CAST(RES_LOCALIZADOR AS BIGINT)=" +value);
有什么帮助吗


谢谢

从[intranetMinorista].[dbo].[RESERVA]中选择WEB_codigo,其中RES_localizador=206627660

RES_localizador是BDDD中的VARCHAR

当列的类型为BIGINT时,我也遇到了问题 从[intranetMinorista].[dbo].[RESERVA]中选择WEB_codigo,其中RES_codigo=20946346


Res_codigo是BBDD中的一个bigint

您应该使用参数化。看见它不仅可以防止sql注入,还可以更好地处理数据类型。您是否尝试在SSMS中执行查询?尽管参数很好,但我怀疑在这种特定情况下,它们将改善情况。。。long.ToString不是典型的注入代码生成器。我也会对SSMS结果感兴趣。我没有太多地使用SQL server。。。从[intranetMinorista]获取数据后不加空格是否合法?如果您从[intranetMinorista].[dbo].[RESERVA]选择数据a select web\u codigo,CASTRES\u LOCALIZADOR作为BIGINT,会发生什么?您看到您所选择的值了吗?谢谢您的回答,我已更改为使用参数zacion,但仍然不起作用。SSMS结果正常,它返回我期望的值。@grek40嗨,Greg,我刚刚放置了我遇到问题的查询。它们在SSM上工作,但从代码执行时不工作请编辑您的问题以添加信息,新信息不应是注释,更不应是答案。什么是BDDD/BBDD?