2016-12-05 80 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"; 
        } 
    } 
    

希望這可能對你有幫助。這沒有任何驗證或任何良好的做法。只是從這個想法。