【问题标题】:Json do return -1 instead of the values from the stored procedureJson 确实返回 -1 而不是存储过程中的值
【发布时间】:2019-12-29 03:41:07
【问题描述】:

这是 视图 的代码,结果应该使用 Ajax 表单显示。当我生成结果时,我得到-1。但是,当我执行存储过程时,我会在 SQL Server 中以列的形式获得所需的结果

<script type="text/javascript">
    function generateStatement() {

        var member_number = $('#member').val();
        var firstDate = $('#start_date').val();
        var secondDate = $('#end_date').val();

        const url = '/memberbalances/getSummary_statement';

        $.getJSON(url, { member_number, firstDate, secondDate},function (data) {

            $.each(data, function (key, entry) {
                console.log(entry);


                })
            })

    }
</script>

这是 controller 代码,我正在使用 dapper Orm 将查询映射到数据库。 当我单击按钮生成结果时,我得到-1 而不是我在 SQL 服务器中执行存储过程时得到的列中的值

[Authorize]
public JsonResult getSummary_statement(string member_number,string firstDate,string secondDate)
{
    try
    {
        using (sqlConnection)
        {


           DateTime startDate= Convert.ToDateTime(firstDate);

           DateTime endDate = Convert.ToDateTime(secondDate);


            var summary_statement = sqlConnection.Execute("get_summary_memberStatement",
                new
                {
                    member_number,startDate,endDate
                },commandType:CommandType.StoredProcedure);
            return Json(summary_statement,JsonRequestBehavior.AllowGet);
        }
    }
    catch (Exception ex)
    {

        throw new Exception(ex.Message);
    }
}

【问题讨论】:

  • 你有没有用break-point检查它是否进入catch块?
  • @MasoudKeshavarz 是的,我用过...它只是要返回 Json 方法
  • 请更新您的问题并在返回之前包含summary_statement 的内容。它是一个有效的 json 字符串吗?是“-1”吗?是别的吗?
  • @MasoudKeshavarz 在我返回之前,summary_statement 的内容是什么意思?
  • 没关系。在return Json(summary_statement,JsonRequestBehavior.AllowGet); 之前添加var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(summary_statement);。下断点,查看jsonString的内容,最后查看return Json(jsonString,JsonRequestBehavior.AllowGet);的内容

标签: javascript c# asp.net json asp.net-mvc


【解决方案1】:

我重写了控制器代码,现在得到了想要的结果..我真的改变了。

[Authorize]
public JsonResult getSummary_statement(string member_number, string firstDate, string secondDate)
{
    try
    {
        using (sqlConnection)
        {
            DateTime startDate = Convert.ToDateTime(firstDate);

            DateTime endDate = Convert.ToDateTime(secondDate);
            var summary_statement = sqlConnection.Query
                ("get_summary_memberStatement", new {
                    member_number,
                    startDate,
                    endDate
                }, commandType: CommandType.StoredProcedure);
            return Json(summary_statement, JsonRequestBehavior.AllowGet);

        }
    }
    catch (Exception ex)
    {

        throw new Exception(ex.Message);
    }
}

【讨论】:

    猜你喜欢
    • 2014-08-06
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多