Web servisi,Infopath i repeating table

poruka: 2
|
čitano: 1.577
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
Web servisi,Infopath i repeating table

pozdrav
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 preko XmlDocument-a. Kod web servisa je slijedeći:

[WebMethod]public void SubmitDocument(XmlDocument doc) { XmlNamespaceManager nsManager = new XmlNamespaceManager(doc.NameTable); nsManager.AddNamespace("my", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2011-11-15T07:34:16"); nsManager.AddNamespace("dfs", "http://schemas.microsoft.com/office/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(); } }

Primjer obrasca je pokazana na slika1,pri spajanju svega je slika3. Problem je što mi se ponavljaju vrijednosti koje sam napisao prve u obrascu. Na slici2 je primjer unosa u obrazac a slika4 pokazuje unose u bazu. Ne mogu nikako shvatiti u čemu je problem pa ako je se netko susretao s ovim ili može prepoznati o čemu se radi da mi pomogne. Ako trebalo još informacija samo recite....

hvala :)

slika1 slika1
slika3 slika3
slika2 slika2
slika4 slika4
Poruka je uređivana zadnji put uto 15.11.2011 14:22 (barisha5).
 
0 0 hvala 0
16 godina
neaktivan
offline
Web servisi,Infopath i repeating table

ako trebalo nekome rješenje evo ga,problem je bio u XPath putanji

string Name = node.SelectSingleNode("my:Name", nsManager).InnerText;

string Price = node.SelectSingleNode("my:Price", nsManager).InnerText;

string Amount = node.SelectSingleNode("my:Amount", nsManager).InnerText;

 

Sada mi je ideja da napravim kao obrazac za prodaju, u zaglavlju bi bili podaci o kupcu a ispod repeating table sa artiklima. Napravio sam 2 tabele u bazi, konfiguracija i artikli(naravno sve povezano uredno). Na koji način bi mogao da sa jednim submitom sve artikle vežem na podatke o kupcu, ovako bi morao kod svakog artikla birati broj(FK_PODACI o kupcu) da se upiše u bazu?? zna li tko ovo?

 

 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice