Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 4 of 4 total
Thread Small Case Study - EWB + RTC
Fri, Aug 18 2017 8:22 AMPermanent Link

Walter Matte

Tactical Business Corporation


This project was built in 6 hours.

https://www.basicdatasafe.com/isapi/VMCIsapi.dll/demo/libsearch.html

EWB + RTC to me equals successful RAD Web Apps

Thanks Tim and Danijel



Attachments: Small Case Study.pdf
Fri, Aug 18 2017 10:16 AMPermanent Link

Uli Becker

Walter,

> This project was built in 6 hours.

Hmmm... Tim will be disappointed <vbg>

Thanks for this very interesting demo.

Especially this:

<<
My framework has a table to hold SQL queries I need in the app.
Table: SysQuery
Fields: QryName, SQLStmt, GroupByStmt, OrderByStmt
>>

is a clever approach. Thanks for sharing that.

Uli
Tue, Aug 22 2017 11:34 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Walter,

<< This project was built in 6 hours.

https://www.basicdatasafe.com/isapi/VMCIsapi.dll/demo/libsearch.html

EWB + RTC to me equals successful RAD Web Apps >>

Wow, very nice.  Can I publish this in a blog post ?

As an aside, I think you'll very much like the new dataset architecture that is coming with 2.07.  It's *very* similar to what you've developed and gets around issues like how to deal with retrieving last inserted values for back-ends like SQL Server.  Instead of EWB handling the SQL generation, *you* specify the SQL used for SELECT, INSERT, UPDATE, and DELETE statements, along with parameters (EWB generates boilerplate SQL to start).  This allows one to use multi-statement INSERT statements for SQL Server in order to grab identity column values and pop them into output parameters, etc.  For EDB and DBISAM, one will be able to use SQL or drop down to using straight tables with or without filters.

Tim Young
Elevate Software
www.elevatesoft.com
Tue, Aug 22 2017 3:02 PMPermanent Link

Walter Matte

Tactical Business Corporation

Tim:

Yes you can publish this in a blog post.

Yes the LastId value has been interesting ... I have stopped using AutoInc keys for EWB apps.  Depending on the app and how many users and my risk assessment for small systems and small tables - I am experimenting with using an int64 as the PrimaryKey field and OnInitRow - Dataset.Columns[Id].Asinteger := Integer(Now); Otherwise I do a ServerRequest to get a unique id and then start the Dataset.Insert.  Even if the server can do more, it still has to get the value back to the client... looking forward to see what 2.07 does.

One of the nice features I stumbled upon while working, was the the ability to load the TDataSet from one of my stored queries and in the AfterLoad change the DatasetName to the Table I am selecting from.  Then all of the Add, Edit and Delete's are handled with zero code (more or less) because of the TDatabase.AutoTransactions := True;  Of course you need to make sure the primary key field is in the query, but it  lets you do joins and other more complicated where statement fetching than a simple table filter.

One question  - Calculated Fields - is there any real reason to send them back to the server on a Commit?  I can't think of any.

I am *always* looking forward to the next version!!   2.07 will yield more wonderful things, I'm sure.


Walter
Image