(!******************************************************* Mosel Example Problems ====================== file indexeg2.mos ````````````````` Using ODBC with dense and sparse format data tables. - Using SQL statements - (c) 2008 Fair Isaac Corporation author: Y. Colombani, 2002, rev. Aug. 2023 *******************************************************!) model ODBCImpEx2 uses "mmodbc" declarations A: array(1..3, 1..2) of real B: array(1..2, 1..3) of real C: array(1..2, 1..3) of real D: array(R:range, 1..3) of real CSTR: string end-declarations ! CSTR:= 'DSN=Excel Files;DBQ=C:/xpress/examples/mosel/WhitePapers/MoselData/indexeg.xls' ! CSTR:= 'indexeg.xls' ! CSTR:= 'DSN=sqlite;DATABASE=indexeg.sqlite' CSTR:= 'indexeg.sqlite' SQLconnect(CSTR) if not getparam("SQLsuccess"): setioerr("Database connection failed") setparam("SQLverbose",true) setparam("SQLdebug",true) ! Data must be dense - there are not enough columns to serve as index! SQLexecute("select * from Range3by2 ", A) writeln("\n ===A=== ") forall(i in 1..3) writeln("Row(",i,"): ", A(i,1), " ", A(i,2)) setparam("SQLndxcol", false) ! Dense data SQLexecute("select * from Range2by3 ", B) writeln("\n ===B=== ") forall(i in 1..2) writeln("Row(",i,"): ", B(i,1), " ", B(i,2), " ", B(i,3)) setparam("SQLndxcol", true) ! Indexed data SQLexecute("select * from Range2by3i ", C) writeln("\n ===C=== ") forall(i in 1..2) writeln("Row(",i,"): ", C(i,1), " ", C(i,2), " ", C(i,3)) setparam("SQLndxcol", false) ! Partially indexed data SQLexecute("select * from RectRange ", D) writeln("\n ===D=== ") forall(i in R) writeln("Row(",i,"): ", D(i,1), " ", D(i,2), " ", D(i,3)) SQLdisconnect end-model