热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQL代码不返回任何值-SQLCodenotreturninganyvalues

IhavethefollowingstoredprocedurethatisbeingcalledinC#:我有以下在C#中调用的存储过程:ALTERPROCEDURE

I have the following stored procedure that is being called in C#:

我有以下在C#中调用的存储过程:

ALTER PROCEDURE [dbo].[GetJobStatusSummary] @FiscalYear int,
@JobIDList varchar(max)
AS
  SELECT
    SUM(CASE StatusID
      WHEN 5 THEN 1
      ELSE 0
    END) AS Completed,
    SUM(CASE StatusID
      WHEN 5 THEN 0
      ELSE 1
    END) AS Incomplete
  FROM Review
  WHERE FiscalYear = @FiscalYear
  AND JobID + '|' + Position IN (SELECT
    Argument
  FROM dbo.CreateInClause(@JobIDList))
  GROUP BY FiscalYear

When I pass in the following (this was taken from SQL Server Management Studio):

当我传入以下内容时(这是从SQL Server Management Studio中获取的):

DECLARE @return_value int

EXEC @return_value = [dbo].[GetJobStatusSummary] @FiscalYear = 2015,
                                                 @JobDList = N'00304730,00334573,00635385,'

SELECT
  'Return Value' = @return_value
GO

I'm not getting anything back for Completed or Incomplete, just a return value of 0. I've verified there is in fact data in the database pertaining to these Job ID's. I'm not that skilled at SQL, as I've sort of inherited this project. The stored procedure hasn't changed, so I'm not sure what I'm missing. Any ideas?

我没有收到任何已完成或未完成的任何内容,只返回值为0.我已经确认数据库中存在与这些作业ID相关的数据。我不熟悉SQL,因为我继承了这个项目。存储过程没有改变,所以我不确定我缺少什么。有任何想法吗?

Edit: Sample of data from the table, is this useful? The ID's I'm using to test are not represented here, but this is an example of the data in there

编辑:表格中的数据样本,这有用吗?我用来测试的ID没有在这里表示,但这是其中数据的一个例子

JobID   StatusID  FiscalYear    CreatedDT   LastUpdatedDT
14999       5       2011    55:15.4 12:15.3
163511      2       2011    08:20.6 12:15.3

4 个解决方案

#1


This line:

SELECT  'Return Value' = @return_value

is going to return 0 if the procedure execute correctly. The @return_value is that for. So you don't need to use SELECT 'Return Value' = @return_value at the end of the call.

如果过程正确执行,则返回0。 @return_value就是为了。因此,您不需要在调用结束时使用SELECT'返回值'= @return_value。

try executting you're query along with the parameters so you can determine if it is good.

尝试执行您的查询以及参数,以便您可以确定它是否良好。

And try again just:

再试一次:

DECLARE @return_value int
DECLARE @FiscalYear int
DECLARE @JobDList VARCHAR(MAX)

EXEC    @return_value = [dbo].[GetJobStatusSummary]
        @FiscalYear = 2015,
        @JobDList = N'00304730,00334573,00635385,'

#2


SELECT SUM( CASE StatusID WHEN 5 THEN 1 ELSE 0 END ) AS Completed  ,
    SUM( CASE StatusID WHEN 5 THEN 0 ELSE 1 END ) AS Incomplete,
    FiscalYear
FROM    Review
WHERE   FiscalYear = @FiscalYear AND 
        JobID + '|' + Position IN ( SELECT Argument FROM dbo.CreateInClause( @JobIDList ) )
GROUP BY FiscalYear

#3


I would start by execute the two queries to see if there is any data in the tables:

我将从执行两个查询开始,看看表中是否有任何数据:

SELECT StatusID FROM Review WHERE FiscalYear = 2015;

And when there are results, check what the output of 'JobID + '|' + Position' is.

当有结果时,检查'JobID +'|'的输出是什么+位置'是。

SELECT StatusID, JobID + '|' + Position FROM Review WHERE FiscalYear = 2015; 

Maybe you can see that the output is not in the list which comes out of: SELECT Argument FROM dbo.CreateInClause( @JobIDList )

也许你可以看到输出不在列表中:SELECT Argument FROM dbo.CreateInClause(@JobIDList)

#4


I think I got it. As I said, the SQL (unless it's just selecting something) is above my head, but since I know the SQL didn't change, it looks like the C# did.

我想我明白了。正如我所说,SQL(除非它只是选择一些东西)在我的脑海之上,但由于我知道SQL没有改变,它看起来像C#。

I have this line of code in my C#

我在C#中有这行代码

var jobs= from d in jobData select d.JobID;

In the SQL it was also looking for position to be there, with the "|", which it was not. I changed that line to:

在SQL中,它也在寻找位置,使用“|”,它不是。我改变了这一行:

var jobs= from d in jobData select d.JobID;+ "|" + d.Position

I apologize if I posted this in the wrong forum.

如果我在错误的论坛上发布这个,我道歉。


推荐阅读
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • C# WPF自定义按钮的方法
    本文介绍了在C# WPF中实现自定义按钮的方法,包括使用图片作为按钮背景、自定义鼠标进入效果、自定义按压效果和自定义禁用效果。通过创建CustomButton.cs类和ButtonStyles.xaml资源文件,设计按钮的Style并添加所需的依赖属性,可以实现自定义按钮的效果。示例代码在ButtonStyles.xaml中给出。 ... [详细]
  • 摘要: 在测试数据中,生成中文姓名是一个常见的需求。本文介绍了使用C#编写的随机生成中文姓名的方法,并分享了相关代码。作者欢迎读者提出意见和建议。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
author-avatar
书友85467040
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有