在尝试将插入值从javascript调用到Visual Studio中的sql服务器时,收到内部服务器错误500

Getting a internal server error 500 while trying to call insert values from javascript into sql server in visual studio

本文关键字:服务器 中的 sql 错误 内部 Studio Visual 插入 调用 javascript      更新时间:2023-09-26

我在javascript中有一个代码,它在c-sharp中调用了一个webmethod,javascript代码和web方法如下

JavaScript代码:

var _data = {
            '_mStart': document.getElementById("St_Period").value,
            '_mEnd': document.getElementById("En_Period").value
        };
                  $.ajax({
                      type: "POST",
                      url: "maps.aspx/myFunc",
                      data: _data,
                      contentType: "application/json; charset=utf-8",
                      dataType: "json",
                      success: function(msg) {
                        alert("success!")
          }
        });

网络方法:

 [WebMethod]
    public static void myFunc(DateTime? _mStart, DateTime? _mEnd)
    {
        try
        {
            SqlConnection con=new SqlConnection("server=SWAPPS_LAP''SQLEXPRESS;Initial Catalog=moogle;Integrated Security=True;MultipleActiveresultSets=true");
            SqlCommand cmd = new SqlCommand();
            con.Open();
            cmd = new SqlCommand("insert into MEDIA_BOOKING(ST_PERIOD,END_PERIOD,ENTERED_BY,ENTERED_ON) values(@st,@end,@by,@on)", con);
            cmd.Parameters.AddWithValue("@st", _mStart);
            cmd.Parameters.AddWithValue("@end", _mEnd);
            cmd.Parameters.AddWithValue("@on", DateTime.Now);
            cmd.ExecuteNonQuery();
            con.Close();
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

但是当我运行代码时,我收到一个错误,因为

POST http://localhost:50060/moogle/maps.aspx/myFunc 500 (Internal Server Error) jquery.js:8102
jQuery.ajaxTransport.send jquery.js:8102
jQuery.extend.ajax jquery.js:7580
savebook maps.aspx:398
onclick

我有一种预感,也许参数有问题,也许它们的格式不正确?

您没有为 @by 参数提供值。尝试在 catch 语句中添加断点以查看错误是什么。如果您没有达到该阶段,请尝试发布请求正文,以便人们可以看到请求是什么,并以更多细节来回答。