>LOCAL lcXML >lcXML = "<TEST>" > >*Start time >SET DECIMALS TO 3 > >USE C:\DEV\CSHARP\DEMO\DEMOS\DATA\CLIENT IN 0 > >SELECT * FROM Client WHERE UPPER(Cl_Sname) = "LAWRENCE" INTO CURSOR TEST NOFILTER > >=AFIELDS(laFields, "Test") > >StartTime = SECONDS() > >SCAN > lcXML = lcXML + "<CLIENT>" > FOR f = 1 TO ALEN(laFields, 1) > lcXML = lcXML + "<" + laFields(f, 1) + ">" + ; > TRANSFORM(EVALUATE("Test." + laFields(f, 1))) +; > "</" + laFields(f, 1) + ">" > ENDFOR > lcXML = lcXML + "</CLIENT>" >ENDSCAN > >lcXML = lcXML + "</TEST>" > >*Show Time-Taken >?SECONDS() - StartTime >>
>public static void DataPerformance() > { > //Use Local FoxDB with lots of data > OleDbConnection Connection = new OleDbConnection(@"Provider=VFPOLEDB.1;Data Source=c:\dev\csharp\Demo\Demos\Data\Client.DBF") ; > OleDbDataAdapter Result = new OleDbDataAdapter("SELECT * FROM Client WHERE UPPER(Cl_Sname) = 'LAWRENCE'", Connection) ; > DataSet Cursor = new DataSet() ; > Result.Fill(Cursor, "CLIENT") ; > StringBuilder XML = new StringBuilder() ; > DataColumn[] Columns = new DataColumn[Cursor.Tables["Client"].Columns.Count]; > Cursor.Tables["Client"].Columns.CopyTo(Columns, 0) ; > > //Start time > DateTime StartTime = DateTime.Now; > > XML.Append("<Test>") ; > //Build XML Result > //Scans through what would be a local-cursor in Fox > foreach (DataRow Row in Cursor.Tables["CLIENT"].Rows) > { > XML.Append("<CLIENT>") ; > for (int c = 0; c < Columns.Length; c++) > { > XML.Append("<" + Columns[c].ColumnName + ">" + Row[Columns[c].ColumnName].ToString() + > "</" + Columns[c].ColumnName + ">") ; > } > XML.Append("</CLIENT>") ; > } > > XML.Append("</Test>") ; > > //End Time > DateTime EndTime = DateTime.Now ; > > //End > Console.WriteLine(StartTime) ; > Console.WriteLine(EndTime) ; > Console.WriteLine(EndTime-StartTime) ; >} >>
*Start time StartTime = SECONDS() LOCAL lcXML SELECT * ; FROM "C:\DEV\CSHARP\DEMO\DEMOS\DATA\CLIENT" ; WHERE UPPER(Cl_Sname) = "LAWRENCE" ; INTO CURSOR TEST =AFIELDS(laFields, "Test") lcTemp = Sys(2015)+'.tmp' lnHandle = fcreate(lcTemp) Fputs(m.lnHandle,'<TEST>') SCAN Fputs(m.lnHandle,"<CLIENT>") FOR f = 1 TO ALEN(laFields, 1) Fputs(m.lnHandle,"<" + laFields(m.f, 1) + ">" + ; TRANSFORM(EVALUATE("Test." + laFields(m.f, 1))) +; "</" + laFields(m.f, 1) + ">") ENDFOR Fputs(m.lnHandle,"</CLIENT>") ENDSCAN Fputs(m.lnHandle,"</TEST>") Fclose(m.lnHandle) lcXML = FileToStr(m.lcTemp) *Show Time-Taken Erase (m.lcTemp) ?SECONDS() - StartTimeCetin