2016-12-05 85 views
0
function AddJSon() { 
    var jsonArr = []; 
    for (var i = 1; i < 4; i++) { 
     for (var j = 0; j < 3; j++) { 
      var ProductId = $("#hfProductId" + i + "_" + j).val(); 
      if (ProductId != undefined) { 
       jsonArr.push({ 
        SalesOrderItemId: $("#hfProductId" + i + "_" + j).val(), 
        AttachmentCode: $("#txtAttachmentCode" + i + "_" + j).val(), 
        AttachmentName: $("#txtAttachName" + i + "_" + j).val(), 
        Qty: $("#txtAttachmentQty" + i + "_" + j).val(), 
        UnitCost: $("#txtAttachCost" + i + "_" + j).val(), 
        TotalCost: $("#txtAttachmentTotalCost" + i + "_" + j).val(), 
       }) 
      } 
     } 
    } 
} 

在上面的代码,我推入JSON数组各个字段的值,现在我想将它们保存在数据库中,而无需使用循环。插入JSON对象到SQL Server 2008中使用Ajax WEBMETHOD

+0

没有任何人有答这个问题,请大家帮忙 – grnake

+0

你没有做任何事情比AddJSon()?@grnake –

+0

我没有得到什么应该是我的下一个步骤。我想在数据库@RangaDewasinghe中插入这个Json对象 – grnake

回答

0

我会下台,你下一步想做的东西。

  1. 既然你已经得到了你的JSON你可以创建 所需的页面的asxp.cs.一个Web方法(我把它命名为AddJSon())

  2. 这种方法应该接受的参数类型JSON格式,我们已经有了。为此创建一个类(我把它命名为JsonDataList) 您的请求对象应该如下。

    public class JsonDataList 
    { 
        public List<JsonData> jsonData { get; set; } 
    } 
    
    public class JsonData 
    { 
        public int SalesOrderItemId { get; set; } 
        public string AttachmentCode { get; set; } 
        public string AttachmentName { get; set; } 
        public int Qty { get; set; } 
        public decimal UnitCost { get; set; } 
        public decimal TotalCost { get; set; } 
    
    } 
    
  3. 然后,你必须创建表this.I假设您正在使用MSSQL,你将能够创建相应的表结构。(连接字符串等太)

  4. 当一部分3完成后,你的Web方法应该改变像下面将数据插入到创建的表。(我会做它在Web方法本身,这是不好的)

    [WebMethod] 
    public static string AddJSon(JsonDataList jsonDataList) 
    { 
        try 
        { 
         using(SqlConnection con=new SqlConnection("your_connection_String")) 
         { 
          con.Open(); 
          foreach(JsonData data in jsonDataList) 
          { 
           string query = "INSERT into table (column1,column2,column3,...) VALUES (@value1,@value2,@value3,..)"; 
           SqlCommand command = new SqlCommand(query, con); 
           command.Parameters.Add("@value1",data.SalesOrderItemId); 
           command.Parameters.Add("@value2",data.AttachmentCode); 
           command.Parameters.Add("@value3",data.AttachmentName); 
           . 
           . 
           command.ExecuteNonQuery(); 
          }  
         } 
         return "Success"; 
        }catch(Exception e) 
        { 
         return "Error"; 
        } 
    } 
    

希望这可能对你有帮助。这没有任何验证或任何良好的做法。只是从这个想法。