TableAdapter在多个参数处没有返回行。但是在SSMS中有返回的行

问题描述 投票:0回答:1

我有一个使用表适配器填充查询的数据集,如下所示:

SELECT LOGGING.HOLE_ID
    ,LOGGING.DEPTH_FROM
    ,LOGGING.DEPTH_TO
    ,LOGGING.CORE_SIZE_ID
    ,CORE_SIZE.NAME AS CORE_SIZE_CODE
    ,LOGGING.CORE_RECOVERY
    ,LOGGING.MATERIAL_ID
    ,MATERIAL.NAME AS MATERIAL_CODE
    ,LOGGING.ROCK_ID
    ,ROCK.NAME AS ROCK_CODE
    ,LOGGING.GRAIN_SIZE_ID
    ,GRAIN_SIZE.NAME AS GRAIN_SIZE_CODE
    ,LOGGING.SERPENTINE_ID
    ,SERPENTINE.NAME AS SERPENTINE_CODE
    ,LOGGING.WEATHERING_ID
    ,WEATHERING.NAME AS WEATHERING_CODE
    ,LOGGING.COLOUR_ID
    ,COLOUR.NAME AS COLOUR_CODE
    ,LOGGING.PRIMARY_TEXTURE_ID
    ,PRIMARY_T.NAME AS PRIMARY_TEXTURE_CODE
    ,LOGGING.SECONDARY_TEXTURE_ID
    ,SECONDARY_T.NAME AS SECONDARY_TEXTURE_CODE
    ,LOGGING.PRIMARY_MINERAL_ID
    ,PRIMARY_M.NAME AS PRIMARY_MINERAL_CODE
    ,LOGGING.SECONDARY_MINERAL_ID
    ,SECONDARY_M.NAME AS SECONDARY_MINERAL_CODE
    ,LOGGING.TERTIARY_MINERAL_ID
    ,TERTIARY_M.NAME AS TERTIARY_MINERAL_CODE
    ,LOGGING.MAGNETIC_SUSCEPTIBILITY
    ,LOGGING.FRACTURE_DENSITY
    ,LOGGING.BOULDER_LENGTH
    ,LOGGING.NOTE
    ,[USER].USER_ID AS LOGGER_BY
    ,LOGGING.LOGGER_DATE
    ,LOGGING.ROCK_QUALITY_DESIGN
    ,LOGGING.CREATED_BY
    ,LOGGING.CREATED_DATE
    ,LOGGING.MODIFIED_BY
    ,LOGGING.MODIFIED_DATE
FROM LOGGING
INNER JOIN MATERIAL ON LOGGING.MATERIAL_ID = MATERIAL.MATERIAL_ID
INNER JOIN CORE_SIZE ON LOGGING.CORE_SIZE_ID = CORE_SIZE.CORE_SIZE_ID
INNER JOIN ROCK ON LOGGING.ROCK_ID = ROCK.ROCK_ID
INNER JOIN GRAIN_SIZE ON LOGGING.GRAIN_SIZE_ID = GRAIN_SIZE.GRAIN_SIZE_ID
INNER JOIN SERPENTINE ON LOGGING.SERPENTINE_ID = SERPENTINE.SERPENTINE_ID
INNER JOIN WEATHERING ON LOGGING.WEATHERING_ID = WEATHERING.WEATHERING_ID
INNER JOIN COLOUR ON LOGGING.COLOUR_ID = COLOUR.COLOUR_ID
INNER JOIN TEXTURE AS PRIMARY_T ON LOGGING.PRIMARY_TEXTURE_ID = PRIMARY_T.TEXTURE_ID
INNER JOIN TEXTURE AS SECONDARY_T ON LOGGING.SECONDARY_TEXTURE_ID = SECONDARY_T.TEXTURE_ID
INNER JOIN MINERAL AS PRIMARY_M ON LOGGING.PRIMARY_MINERAL_ID = PRIMARY_M.MINERAL_ID
INNER JOIN MINERAL AS SECONDARY_M ON LOGGING.PRIMARY_MINERAL_ID = SECONDARY_M.MINERAL_ID
INNER JOIN MINERAL AS TERTIARY_M ON LOGGING.PRIMARY_MINERAL_ID = TERTIARY_M.MINERAL_ID
INNER JOIN DRILL_ASSIGNMENT ON LOGGING.HOLE_ID = DRILL_ASSIGNMENT.HOLE_ID
INNER JOIN [USER] ON LOGGING.LOGGER_BY = [USER].EMPLOYEE_ID
WHERE LOGGING.HOLE_ID = @HOLE_ID
ORDER BY LOGGING.HOLE_ID
    ,LOGGING.DEPTH_FROM

如果我在SSMS中运行以上查询,它将返回行。但是使用TableAdapter时,我不会在HOLE_ID个数字处检索任何行。

例如,HOLE_ID D12372返回27行,但是HOLE_ID D39281不返回任何行。然后,HOLE_ID D39281在SSMS中返回值。对这个问题有什么意见或解决方案吗?

c# sql-server dataset ssms tableadapter
1个回答
0
投票
我的直觉猜测是检查连接字符串中的以下元素。

服务器,这应该指向您在其中测试的同一服务器SSMS。

    自从您提到
  • HOLE_ID D12372返回27行我认为连接字符串中的凭据正常运行。

    最后,如果要在使用者方面形成SQL查询,请检查该字符串是否有串联错误。我使用该查询字符串并在SSMS中执行以查看其返回的行数。

    最后,要解决此问题,应检查使用代码。
© www.soinside.com 2019 - 2024. All rights reserved.