J
jb
Brief question:
How do I get InfoPath to accept data returned from Submit as
latest/"original" data in database?
Long question:
* Using InfoPath connected to WebService
* Form is an "update row" form, has "Run Query" & "Submit" (-type) buttons
* I "Run Query" to initially populate with row
* "FieldA" has value "Original" in it
* I change that to "New 1", and "Submit"
* Database updated via web service; it receives InfoPath "dataFields" via
DataSet input parameter *and returns this as result from webservice, with
OutputLocation bound to IP dataFields*
* Form stays on screen
* I change "FieldA" again, this time to "New 2", and "Submit" again
* Now data passed to webservice from IP indicates that "original" value of
"FieldA" is still "Original", so generated SQL for Update does not find
record to update (because by now it's "New 1"), and update fails
So I'm asking how can I get IP to accept data in dataFields as
"OriginalData" after Submit? I have hacked a
XDocument.QueryAdapter.Query();
onto end of XDocument::OnSubmitRequest() just before returning; this seems
to get IP to accept new data via new query, but it doesn't feel right: is
there a call to tell IP to update it's idea of "OriginalData" from what's in
dataFields without having to requery??
How do I get InfoPath to accept data returned from Submit as
latest/"original" data in database?
Long question:
* Using InfoPath connected to WebService
* Form is an "update row" form, has "Run Query" & "Submit" (-type) buttons
* I "Run Query" to initially populate with row
* "FieldA" has value "Original" in it
* I change that to "New 1", and "Submit"
* Database updated via web service; it receives InfoPath "dataFields" via
DataSet input parameter *and returns this as result from webservice, with
OutputLocation bound to IP dataFields*
* Form stays on screen
* I change "FieldA" again, this time to "New 2", and "Submit" again
* Now data passed to webservice from IP indicates that "original" value of
"FieldA" is still "Original", so generated SQL for Update does not find
record to update (because by now it's "New 1"), and update fails
So I'm asking how can I get IP to accept data in dataFields as
"OriginalData" after Submit? I have hacked a
XDocument.QueryAdapter.Query();
onto end of XDocument::OnSubmitRequest() just before returning; this seems
to get IP to accept new data via new query, but it doesn't feel right: is
there a call to tell IP to update it's idea of "OriginalData" from what's in
dataFields without having to requery??