<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="https://syndication.webwiz.net/rss_namespace/">
 <channel>
  <title>Codejock Developer Community : Refresh control with modifications in database</title>
  <link>http://forum.codejock.com/</link>
  <description><![CDATA[This is an XML content feed of; Codejock Developer Community : Report Control : Refresh control with modifications in database]]></description>
  <copyright>Copyright (c) 2006-2013 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Sun, 19 Apr 2026 05:56:39 +0000</pubDate>
  <lastBuildDate>Wed, 16 Feb 2011 12:42:11 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 12.04</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>forum.codejock.com/RSS_post_feed.asp?TID=17899</WebWizForums:feedURL>
  <image>
   <title><![CDATA[Codejock Developer Community]]></title>
   <url>http://forum.codejock.com/forum_images/codejock-logo.gif</url>
   <link>http://forum.codejock.com/</link>
  </image>
  <item>
   <title><![CDATA[Refresh control with modifications in database :  Could be a good idea to modify...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=17899&amp;PID=62705&amp;title=refresh-control-with-modifications-in-database#62705</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=1863">JoseAngel</a><br /><strong>Subject:</strong> 17899<br /><strong>Posted:</strong> 16 February 2011 at 12:42pm<br /><br />Could be a good idea to modify the CXTPReportDataManager::UpdateReportRecords method to enable the control to show the registers added in the database by other process.<br><br>HRESULT CXTPReportDataManager::UpdateReportRecords(XTPREPORTADODB::_RecordsetPtr pRecordset, <font color="#0000ff">bool addNewItems/*=false*/</font>)<br>{<br>&nbsp;&nbsp; &nbsp;HRESULT hr = E_FAIL;<br><br>&nbsp;&nbsp; &nbsp;try<br>&nbsp;&nbsp; &nbsp;{<br><br>&nbsp;&nbsp; &nbsp;CXTPReportRecords* pRecords = m_pReportControl-&gt;GetRecords();<br>&nbsp;&nbsp; &nbsp;if (!(pRecordset != NULL &amp;&amp; pRecords))<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;return E_FAIL;<br>&nbsp;&nbsp; &nbsp;XTPREPORTADODB::FieldsPtr pFields;<br>&nbsp;&nbsp; &nbsp;if (FAILED(hr = pRecordset-&gt;get_Fields(&amp;pFields)) || pFields == NULL)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;return hr;<br>&nbsp;&nbsp; &nbsp;long lFields;<br>&nbsp;&nbsp; &nbsp;if (FAILED(hr = pFields-&gt;get_Count(&amp;lFields)) || lFields == 0)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;return hr;<br>&nbsp;&nbsp; &nbsp;long lRecords;<br>&nbsp;&nbsp; &nbsp;if (FAILED(hr = pRecordset-&gt;get_RecordCount(&amp;lRecords)))<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;return hr;<br>&nbsp;&nbsp; &nbsp;if (lRecords &lt;= 0)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;return E_FAIL;<br>&nbsp;&nbsp; &nbsp;pRecordset-&gt;MoveFirst();<br>&nbsp;&nbsp; &nbsp;VARIANT_BOOL vtRecordsEof;<br>&nbsp;&nbsp; &nbsp;pRecordset-&gt;get_bEOF(&amp;vtRecordsEof);<br>&nbsp;&nbsp; &nbsp;while (!vtRecordsEof)<br>&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// get record bookmark<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;VARIANT vtBookmark;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (FAILED(hr = pRecordset-&gt;get_Bookmark(&amp;vtBookmark)))<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;CXTPReportRecord* pRecord = pRecords-&gt;FindRecordByBookmark(vtBookmark, TRUE);<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (pRecord)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// get field values<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;VARIANT vtIdx;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;vtIdx.vt = VT_I4;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for (int i = 0; i &lt; lFields; i++)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;vtIdx.lVal = i;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;XTPREPORTADODB::FieldPtr pField;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (FAILED(hr = pFields-&gt;get_Item(vtIdx, &amp;pField)) || pField == NULL)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;VARIANT vtValue;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (FAILED(hr = pField-&gt;get_Value(&amp;vtValue)))<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;CXTPReportRecordItemVariant* pItem = (CXTPReportRecordItemVariant*)pRecord-&gt;GetItem(i);<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (!pItem)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;pItem-&gt;SetValue(COleVariant(vtValue));<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br><br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;m_pReportControl-&gt;UpdateRecord(pRecord, TRUE);<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;} <br>&nbsp;<font color="#0000ff">&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;else if(addNewItems) <br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// create record<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;CXTPReportRecord* pRecord = new CXTPReportRecord;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (!pRecord)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// get field values<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;VARIANT vtIdx;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;vtIdx.vt = VT_I4;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for (int i = 0; i &lt; lFields; i++)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;vtIdx.lVal = i;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;XTPREPORTADODB::FieldPtr pField;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (FAILED(hr = pFields-&gt;get_Item(vtIdx, &amp;pField)) || pField == NULL)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;VARIANT vtValue;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (FAILED(hr = pField-&gt;get_Value(&amp;vtValue)))<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;CXTPReportRecordItemVariant* pItem = new CXTPReportRecordItemVariant(vtValue);<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (!pItem)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;pRecord-&gt;AddItem(pItem);<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// bind report record to data source record by bookmark<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;VARIANT vtBookmark;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (FAILED(hr = pRecordset-&gt;get_Bookmark(&amp;vtBookmark)))<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;pRecord-&gt;SetBookmark(vtBookmark);<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// add record to report records collection<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;m_pReportControl-&gt;AddRecordEx(pRecord);<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br></font>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;pRecordset-&gt;MoveNext();<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;pRecordset-&gt;get_bEOF(&amp;vtRecordsEof);<br>&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp; &nbsp;catch(_com_error &amp;e)<br>&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TRACE_ProviderError(m_pConnection);<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TRACE_ComError(e);<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;hr = FAILED(hr) ? hr : E_FAIL;<br>&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp; &nbsp;catch(...)<br>&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TRACE(_T("Unknown error in UpdateReportRecords()\n"));<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;hr = FAILED(hr) ? hr : E_FAIL;<br>&nbsp;&nbsp; &nbsp;}<br><br>&nbsp;&nbsp; &nbsp;return FAILED(hr) ? hr : S_OK;<br>}<br><br>]]>
   </description>
   <pubDate>Wed, 16 Feb 2011 12:42:11 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=17899&amp;PID=62705&amp;title=refresh-control-with-modifications-in-database#62705</guid>
  </item> 
 </channel>
</rss>