{"id":1886,"date":"2014-11-13T19:17:23","date_gmt":"2014-11-13T19:17:23","guid":{"rendered":"https:\/\/alt2.minisoft.com\/support\/?p=1886"},"modified":"2014-11-18T22:42:59","modified_gmt":"2014-11-18T22:42:59","slug":"using-data-access-from-vc-with-arrays","status":"publish","type":"post","link":"https:\/\/www.minisoft.com\/support\/using-data-access-from-vc-with-arrays\/","title":{"rendered":"Using Data Access &#8211; From VC++ with Arrays"},"content":{"rendered":"<p>The MDMDA session object is being called from a Microsoft VC++ application. This sample includes references to an item array (12J1).<\/p>\n<p class=\"subheads\">The dataset and items are defined as follows:<\/p>\n<pre>ITEMS:\r\nITEM-NO, Z6;\r\nSALES-PERIODS, 12X6;\r\nSALES-HISTORY, 12P12;\r\nMISC, 12J1;\r\nOTHER, J2;SETS:\r\nNAME: HISTORY, DETAIL (1\/18);\r\nENTRY: ITEM-NO(!HISTORY-M),\r\nSALES-PERIODS,\r\nSALES-HISTORY,\r\nMISC,\r\nOTHER;\r\nCAPACITY: 101;\r\nEND.<\/pre>\n<p><a href=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2014\/11\/mdm_004.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-1887\" src=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2014\/11\/mdm_004.gif\" alt=\"mdm_004\" width=\"380\" height=\"313\" \/><\/a><\/p>\n<pre>BOOL CVc01Dlg::OnInitDialog()\r\n{\r\nchar buf[20];\r\nBOOL b1;\r\nCOleException pError;CDialog::OnInitDialog();SetIcon(m_hIcon, TRUE);\r\nSetIcon(m_hIcon, FALSE);\r\n\r\nda = new IMdmdaDoc();\r\nb1 = da-&gt;CreateDispatch ( \"MdmDA.Session\", &amp;pError );\r\nif ( !b1 ) {\r\nsprintf ( buf, \"Session error: [x%08X]\\0\", pError.m_sc );\r\nAfxMessageBox ( buf );\r\nreturn TRUE;\r\n};\r\nda-&gt;SetTraceLevel ( 0 );\r\nda-&gt;SetHostAddress ( \"support.minisoft.com\\0\" );\r\nda-&gt;SetPort ( 30002 );\r\nda-&gt;SetLoginUser ( \"MGR\" );\r\nda-&gt;SetLoginGroup ( \"UTIL\" );\r\nda-&gt;SetLoginAccount ( \"MINISOFT\" );\r\nda-&gt;SetUserPassword ( \"abcdef\" );\r\nif ( !da-&gt;Connect() ) {\r\nAfxMessageBox(\"couldn't connect...\");\r\nreturn TRUE;\r\n};\r\nif ( !da-&gt;GetLoginStatus()) {\r\nAfxMessageBox(\"Login failed...\");\r\nreturn TRUE;\r\n};\r\ndb = new IImageDatabase();\r\nds = new IImageDataset();\r\ndb-&gt;AttachDispatch(da-&gt;AddImageDBRef(\"MSCARD\"),true);\r\nds-&gt;AttachDispatch(db-&gt;AddDatasetRef(\"HISTORY\"),true);\r\nif ( !db-&gt;Open(\"MSCARD\", \"UTIL\", \"MINISOFT\", 1, \"DO-ALL\") ) {\r\nAfxMessageBox(\"Open failed...\");\r\nreturn TRUE;\r\n};\r\nds-&gt;SetDelimiter (\"\\0\");\r\nif ( !ds-&gt;ReadSerialNext(\"@;\") ) {\r\nAfxMessageBox(\"ReadSerialNext failed...\");\r\nreturn TRUE;\r\n};\r\nSetItemValues();\r\n\r\nreturn TRUE;\r\n}\r\n\r\nvoid CVc01Dlg::OnDestroy()\r\n{\r\nCDialog::OnDestroy();\r\n\r\nif ( ds ) {\r\nds-&gt;ReleaseDispatch();\r\ndelete ds;\r\n}\r\nif ( db ) {\r\ndb-&gt;ReleaseDispatch();\r\ndelete db;\r\n}\r\nif ( da ) {\r\nda-&gt;ReleaseDispatch();\r\ndelete da;\r\n}\r\n}\r\n\r\nvoid CVc01Dlg::SetItemValues()\r\n{\r\nCString buf;\r\nchar buf2[10];\r\n\r\nm_Edit1.SetWindowText(ds-&gt;GetItem(\"ITEM-NO\"));\r\nbuf = ds-&gt;GetItem(\"MISC\");\r\nm_Edit2.SetWindowText(buf);\r\n\r\nsprintf ( buf2, \"%d\", atoi ( buf.Mid( 0, 6 ) ) );\r\nm_misc_1.SetWindowText ( buf2 );\r\nsprintf ( buf2, \"%d\", atoi ( buf.Mid( 6, 6 ) ) );\r\nm_misc_2.SetWindowText ( buf2 );\r\nsprintf ( buf2, \"%d\", atoi ( buf.Mid( 12, 6 ) ) );\r\nm_misc_3.SetWindowText ( buf2 );\r\nsprintf ( buf2, \"%d\", atoi ( buf.Mid( 18, 6 ) ) );\r\nm_misc_4.SetWindowText ( buf2 );\r\nsprintf ( buf2, \"%d\", atoi ( buf.Mid( 24, 6 ) ) );\r\nm_misc_5.SetWindowText ( buf2 );\r\nsprintf ( buf2, \"%d\", atoi ( buf.Mid( 30, 6 ) ) );\r\nm_misc_6.SetWindowText ( buf2 );\r\nsprintf ( buf2, \"%d\", atoi ( buf.Mid( 36, 6 ) ) );\r\nm_misc_7.SetWindowText ( buf2 );\r\nsprintf ( buf2, \"%d\", atoi ( buf.Mid( 42, 6 ) ) );\r\nm_misc_8.SetWindowText ( buf2 );\r\nsprintf ( buf2, \"%d\", atoi ( buf.Mid( 48, 6 ) ) );\r\nm_misc_9.SetWindowText ( buf2 );\r\nsprintf ( buf2, \"%d\", atoi ( buf.Mid( 54, 6 ) ) );\r\nm_misc_10.SetWindowText ( buf2 );\r\nsprintf ( buf2, \"%d\", atoi ( buf.Mid( 60, 6 ) ) );\r\nm_misc_11.SetWindowText ( buf2 );\r\nsprintf ( buf2, \"%d\", atoi ( buf.Mid( 66, 6 ) ) );\r\nm_misc_12.SetWindowText ( buf2 );\r\n\r\n}\r\n\r\nvoid CVc01Dlg::GetItemValues()\r\n{\r\nCString buf;\r\nCString buf2;\r\nchar buf3[10];\r\n\r\nm_misc_1.GetWindowText ( buf2 );\r\nsprintf ( buf3, \"%6d\", atoi ( buf2 ) );\r\nbuf = buf3;\r\nm_misc_2.GetWindowText ( buf2 );\r\nsprintf ( buf3, \"%6d\", atoi ( buf2 ) );\r\nbuf += buf3;\r\nm_misc_3.GetWindowText ( buf2 );\r\nsprintf ( buf3, \"%6d\", atoi ( buf2 ) );\r\nbuf += buf3;\r\nm_misc_4.GetWindowText ( buf2 );\r\nsprintf ( buf3, \"%6d\", atoi ( buf2 ) );\r\nbuf += buf3;\r\nm_misc_5.GetWindowText ( buf2 );\r\nsprintf ( buf3, \"%6d\", atoi ( buf2 ) );\r\nbuf += buf3;\r\nm_misc_6.GetWindowText ( buf2 );\r\nsprintf ( buf3, \"%6d\", atoi ( buf2 ) );\r\nbuf += buf3;\r\nm_misc_7.GetWindowText ( buf2 );\r\nsprintf ( buf3, \"%6d\", atoi ( buf2 ) );\r\nbuf += buf3;\r\nm_misc_8.GetWindowText ( buf2 );\r\nsprintf ( buf3, \"%6d\", atoi ( buf2 ) );\r\nbuf += buf3;\r\nm_misc_9.GetWindowText ( buf2 );\r\nsprintf ( buf3, \"%6d\", atoi ( buf2 ) );\r\nbuf += buf3;\r\nm_misc_10.GetWindowText ( buf2 );\r\nsprintf ( buf3, \"%6d\", atoi ( buf2 ) );\r\nbuf += buf3;\r\nm_misc_11.GetWindowText ( buf2 );\r\nsprintf ( buf3, \"%6d\", atoi ( buf2 ) );\r\nbuf += buf3;\r\nm_misc_12.GetWindowText ( buf2 );\r\nsprintf ( buf3, \"%6d\", atoi ( buf2 ) );\r\nbuf += buf3;\r\n\r\nm_Edit2.SetWindowText(buf);\r\nds-&gt;SetItem(\"MISC\",buf);\r\nm_Edit1.GetWindowText(buf2);\r\nds-&gt;SetItem(\"ITEM-NO\",buf2);\r\n\r\n}\r\n\r\nvoid CVc01Dlg::OnNext()\r\n{\r\nif ( !ds-&gt;ReadSerialNext(\"@;\") ) {\r\nAfxMessageBox(\"ReadSerialNextfailed...\");\r\nreturn;\r\n};\r\n\r\nSetItemValues();\r\n\r\nreturn;\r\n}\r\n\r\nvoid CVc01Dlg::OnRewind()\r\n{\r\nif ( !ds-&gt;Rewind() ) {\r\nAfxMessageBox(\"Rewind failed...\");\r\nreturn;\r\n};\r\n}\r\n\r\nvoid CVc01Dlg::OnAdd()\r\n{\r\nGetItemValues();\r\n\r\nif ( !ds-&gt;Write(\"@;\") ) {\r\nAfxMessageBox(\"Write failed...\");\r\nreturn;\r\n};\r\n\r\nreturn;\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>The MDMDA session object is being called from a Microsoft VC++ application. This sample includes references to an item array (12J1). The dataset and items are defined as follows: ITEMS: ITEM-NO, Z6; SALES-PERIODS, 12X6; SALES-HISTORY, 12P12; MISC, 12J1; OTHER, J2;SETS: NAME: HISTORY, DETAIL (1\/18); ENTRY: ITEM-NO(!HISTORY-M), SALES-PERIODS, SALES-HISTORY, MISC, OTHER; CAPACITY: 101; END. BOOL CVc01Dlg::OnInitDialog() [&hellip;]<\/p>\n","protected":false},"author":75,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61,54],"tags":[],"_links":{"self":[{"href":"https:\/\/www.minisoft.com\/support\/wp-json\/wp\/v2\/posts\/1886"}],"collection":[{"href":"https:\/\/www.minisoft.com\/support\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.minisoft.com\/support\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.minisoft.com\/support\/wp-json\/wp\/v2\/users\/75"}],"replies":[{"embeddable":true,"href":"https:\/\/www.minisoft.com\/support\/wp-json\/wp\/v2\/comments?post=1886"}],"version-history":[{"count":3,"href":"https:\/\/www.minisoft.com\/support\/wp-json\/wp\/v2\/posts\/1886\/revisions"}],"predecessor-version":[{"id":1965,"href":"https:\/\/www.minisoft.com\/support\/wp-json\/wp\/v2\/posts\/1886\/revisions\/1965"}],"wp:attachment":[{"href":"https:\/\/www.minisoft.com\/support\/wp-json\/wp\/v2\/media?parent=1886"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.minisoft.com\/support\/wp-json\/wp\/v2\/categories?post=1886"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.minisoft.com\/support\/wp-json\/wp\/v2\/tags?post=1886"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}