I'd just abandon learning this hybrid and use that time learning a better replacement. The code samples are walking on thin ice between how you use to do it in FOX and how you do it in any client/server environment.
Here is code to fetch a schedule of games for a team in a table that will show an image for each team as well as the event's data. In basic functionality, you get data, tweak it and pass it to be presented.
List<schedule> Schedule = db.schedules.ToList(); //Calls data from a view on the server foreach (schedule game in Schedule) { game.logolocation = "/icons/" + game.logolocation + ".jpg"; // Create the path for the team logo }
Schedule.Sort((x, y) => DateTime.Compare(x.eventDate, y.eventDate)); // Sort the schedule
return View("Index", Schedule); // bring it on home
On Wed, Oct 23, 2019 at 7:36 AM Johan Nel johan.nel@xsinet.co.za wrote:
Hi Alan,
On 2019/10/23 13:52, Alan Bourke wrote:
use customers in 0 shared I wouldn't need to specify the CDX as it would be opened automatically.
If I remember correctly, DBFCDX is AutoOpening CDX. Might be good to ask on the forums, Robert currently en-route to SWFOX, but Chris is monitoring.
Just need to confirm, there is also a SET AUTOOPEN True for default setting.
I could also do, in VFP:
if seek("ADA0001", "customers", "account") endif
X# contain the function DbSeek:
FUNCTION DbSeek( uKey AS USUAL, lSoftSeek AS USUAL, lLast AS USUAL ) AS LOGIC
This does the seek on the current order in the current workarea. If needed on a different workarea (OrderDetail):
IF OrderDetail->DbSeek("ADA0001")
or in fact:
update customers where account = "ADA0001" set creditlim = 1000
Update in X# is used when you want to update 1 workarea from another workarea. REPLACE is the similar command.
REPLACE <idField> WITH <uValue> [, <idField> WITH <uValue>...] [<Scope>] [WHILE <lCondition>]
[FOR <lCondition>] [[IN|ALIAS] <workarea>]
This is used as follow:
replace creditlim with 1000[, <rest>] for account = "ADA0001"
If you look at dbcmd.xh you will see a lot of these are actually handled by 1 internal function DbEval(), all the commands are pre-processed into variation of passed parameters.
FUNCTION DbEval( cbExecute AS USUAL, cbForCondition AS USUAL, cbWhileCondition AS USUAL, nNext AS USUAL, nRecord AS USUAL, lRest AS USUAL ) AS LOGIC
PS: By the way, are you using Visual Studio or XIDE for this work?
Visual Studio, as I am very familiar with it already.
Ok, you might want to at least check XIDE...
Johan
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html
[excessive quoting removed by server]