[ barisha1 @ 16.11.2011. 12:47 ] @
pozdrav nadam se da sam postavio temu na dobrom mjestu :) Napravio sam Web servis koji sam vezao za obrazac koji je napravljen u Infopathu 2010. Kada spajam na pojedinačne kontrole(textbox,combobox...) nema nikakvih problema i prilikom submita se sve upiše u bazu. Problem je se pojavio kada sam ubacio Repeating table, upisuje samo prvi redak. To sam mislio rješiti tako što bi radio submit čitavog obrasca. Kod web servisa je slijedeći: Code: [WebMethod] public void SubmitDocument(XmlDocument doc) { XmlNamespaceManager nsManager = new XmlNamespaceManager(doc.NameTable); nsManager.AddNamespace("my", "http://schemas.microsoft.com/o...2003/myXSD/2011-11-15T07:34:16"); nsManager.AddNamespace("dfs", "http://schemas.microsoft.com/o...infopath/2003/dataFormSolution"); XmlNode root = doc.DocumentElement; XmlNodeList list = root.SelectNodes("/dfs:IPDocument/my:myFields/my:prodList/my:product", nsManager); foreach (XmlNode node in list) { string Name = node.SelectSingleNode("/dfs:IPDocument/my:myFields/my:prodList/my:product/my:Name", nsManager).InnerText; string Price = node.SelectSingleNode("/dfs:IPDocument/my:myFields/my:prodList/my:product/my:Price", nsManager).InnerText; string Amount = node.SelectSingleNode("/dfs:IPDocument/my:myFields/my:prodList/my:product/my:Amount", nsManager).InnerText; SubmitToDataBase(Name, Price, Amount); } } [WebMethod] public void SubmitToDataBase(string Name, string Price, string Amount) { SqlConnection conn =new SqlConnection("Data Source=SERVER;Initial Catalog=PROBA;Integrated Security=True"); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "INSERT INTO PRODUCT " + "(Name, Price, Amount) VALUES (@a, @b, @c)"; SqlParameter param = new SqlParameter("@a", Name); cmd.Parameters.Add(param); SqlParameter param1 = new SqlParameter("@b", Price); cmd.Parameters.Add(param1); SqlParameter param2 = new SqlParameter("@c", Amount); cmd.Parameters.Add(param2); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); } Znači u obrascu imam tri polja: Name, Price i Amount. Upišem prvi redak podatke u ova polja i sve se upiše u bazu(isto što je i radilo i bez servisa SubmitDocument). Kada u Infopathu kliknem Insert new item i tu upišem nove podatke,u bazu mi se upisuju oni podaci iz prvog retka. Grafički bi to izgledalo ovako(a,b,c,....vrijednosti koje upisujem u obrazac): Infopath: a,b,c d,e,f g,h,i Baza: a,b,c a,b,c a,b,c Može li itko prepoznati o čemu se radi, ja smatram da je problem u web servisu SubmitDocument,al opet nemam ideju šta....hvala unaprijed |