>Hi Kevin,
>
>My VFP example:
>
>USE C:\DEV\CSHARP\DEMO\DEMOS\DATA\CLIENT IN 0
>SELECT * FROM Client WHERE UPPER(Cl_Sname) = "LAWRENCE" INTO CURSOR TEST NOFILTER
>
>=AFIELDS(laFields, "Testcursor")
>StartTime = SECONDS()
>
>cString = "<CLIENT>"
>FOR nT = 1 TO ALEN(laFields,1)
> cString = cString + "<"+laFields(nT,1)+">%%"+laFields(nT,1)+"%%<\"+laFields(nT,1)+">"
>ENDFOR
>cString = cString + "\<CLIENT>"
>
>SET TEXTMERGE DELIMITERS TO "%%","%%"
>SET TEXTMERGE TO cXml
>SET TEXTMERGE ON
>
>\<TEST>
>SCAN
> TEXTMERGE(cString,.T.)
>ENDSCAN
>\\</TEST>
>
>SET TEXTMERGE OFF
>SET TEXTMERGE TO
>SET CONSOLE ON
>
>
>cXml = FILETOSTR("cxml.txt")
>?SECONDS() - StartTime
>
>
>Anyway's you indeed have spotted a weak point in VFPs string handling. It becomes slow when appending lots of data to it. But as alway's there there are multiple ways to skin a cat, esspecially in a rich language like VFP.
Walter
I was actually more interested in the local-data performence, I think I may have to try something else, the string handling side of it I'm not too bothered about.
I would be very interested in performance with the local data-engine, perhaps if you were to knock up some powerful local data-engine tests I might be able to try it in C# and potentially spot weaknesses in ADO.Net.
Thanks
Kev