即使过程返回正确的值,数据集也没有值

时间:2019-06-09 07:29:09

标签: json sql-server asp.net-mvc dataset open-json

我有一个使用OPENJSON将Json字符串显示为键值对的过程。当我执行该过程时,它将在控制器中返回期望值bu,数据集为空。它仅显示表标题-键,值,类型。完全没有数据。当我使用另一个非常相似的过程时,它似乎工作正常。不知道发生了什么。请帮忙! 预先感谢!

这是我的程序:

CREATE PROCEDURE [dbo].[PROC_NH_Journal_Tab1Data]

@EnterpriseId nvarchar,
@exactgroup nvarchar
AS

declare @json nvarchar(max)
    set @json=(select Tab2Json from tbl_NH_T_JournalDataPost where 
    EnterpriseId=@EnterpriseId and GroupName = @exactgroup)


SELECT * FROM  
OPENJSON ( @json )
Return 0

这是我的动作:

public JsonResult GetAnswersFortab1(string exact)
{
        string JSONresult = string.Empty;
        string EnterpriseId = "User";
        try
        {
            SqlConnection sqlcon = new SqlConnection(con);
            SqlCommand cmd = new SqlCommand("[PROC_NH_Journal_Tab1Data]", sqlcon);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@EnterpriseId", EnterpriseId);
            cmd.Parameters.AddWithValue("@exactgroup", exact);
            sqlcon.Open();
            SqlDataAdapter adapter = new SqlDataAdapter();
            adapter.SelectCommand = cmd;

            DataSet data;
            data = new DataSet();
            adapter.Fill(data, "Table2");
            DataTable dt1 = data.Tables[0];
            ViewBag.getJson = dt1;
        }

该过程在执行时会给出一个包含键,值对的表。但是当我调试时,“数据”在“ DataSetVisualizer”中是一个空表。仅包含标题(键,值,类型)的空表。不存在数据。 这是我从过程中打印的@json

key       value    type
emoji2      2        1
check2      on       1
check5      on       1
check7      on       1
hiddentext  weds     1

0 个答案:

没有答案