Paul,
I tried using remote views some time ago but found them restrictive in that 
they are held in the database container and sometimes require unrestricted 
exclusive access to maintain them which isn't always available. This was 
partially solved by assigning a private dbc database container for every user 
in their own personal folder so it is open exclusively all the time and so can 
be manipulated, compressed or modified at will.

However, with the advent of cursor adapters I have found them much more 
versatile and easier to control, especially if you pre define them and add them 
into a VCX. Setting up a class of CA's isn't difficult but it is not obvious, 
especially when it comes to assigning the table database container and 
connection string which may or may not be modified at runtime.

Dave

-----Original Message-----
From: ProFox [mailto:profox-boun...@leafe.com] On Behalf Of Paul H. Tarver
Sent: 07 February 2017 22:13
To: 'Ted Roche' <tedro...@gmail.com>; profoxt...@leafe.com
Subject: RE: SQL Backend Question - Part Deux

Ted:

It's a pleasure to have you join in on this conversation as your name is one 
that I have always associated with quality information when it comes to VFP.
As a matter of fact, in the course of opening this line of discussion here on 
ProFoxTech, I did some digging and I found that at some point I purchased a 
book entitled 'MySQL Client-Server Applications with Visual FoxPro"
written by Whil Hentzen and edited by some guy named Ted Roche! :)

Since I started this thread, I've read about 12 of the 22 Chapters and I'm 
learning some of the answers to some of the questions I have and the examples 
are giving me some idea of how to proceed. 

Based on my reading so far, I'm of an opinion that the fastest way to get this 
project off the ground (which I've already begun) short of using a framework is 
to use a combination of SQL Pass-Through and Remote views. My idea would work 
something like this:

1) User gets a search screen to find the member they want to edit (this is very 
similar to the current dos experience)
2) Search screen uses SQL Pass-through to query back-end and return results of 
query to grid for user selection
3) User double clicks on member and opens an edit screen that uses a Remote 
View to handle SQL Update for a single record. (Same screen could be used to 
add new user)
4) User closing edit screen triggers confirmation to save or discard changes. 

In my case, I feel that most of the data entry required will work perfectly 
fine using this methodology and will not incur additional keystrokes for the 
user.  All the custom reports will be created using SQL Pass-Through. 

My next area of interest is whether I can create the Remote Views 
programmatically because I'm currently using DSN-Less connection strings to 
connect and query the database and I would prefer not to have to create a DSN 
just for the remote views. 

Any thoughts about this plan of action? 

Thanks!

Paul H. Tarver
Tarver Program Consultants, Inc.
Tel: 601-483-4404
Email: p...@tpcqpc.com 



-----Original Message-----
From: Ted Roche [mailto:tedro...@gmail.com]
Sent: Monday, February 06, 2017 2:48 PM
To: profoxt...@leafe.com
Subject: Re: SQL Backend Question - Part Deux

Paul:

The issue with moving from a VFP record-centric view of data to a 
cursor-centric view as is used in most client-server software is that there are 
a LOT of gotchas with getting VFP to work that way, and a lot of design 
decisions you need to make: do you use cursoradaptors, remote views, SQL 
Passthrough? All three are valid and work, but each has different limitations 
and issues you need to look out for. Do you use local cursors tied to the 
remote data? Or do you build your own data objects? Will you be switching 
backends, say from SQL Express to MariaDB? Then you need to think about a Data 
Manager and some translations. Do you buffer the local cursors?
Do you buffer the remote data? How to you handle rollbacks? What's your 
strategy on data
conflicts: last save wins, rollback and force a retry, or give the user edit 
controls of then-now-edited data?

>From experience, you can spend several years working through all of
these questions, and building a robust underpinning to your application logic, 
and then find you need to alter your strategies as you see how your software is 
being used.

Or, you can build your application using a framework someone else has already 
built. They have an opinion about which tools, commands and strategies to use, 
and you can build your app on top of their framework as you learn the details 
of how it works and perhaps why the decision decisions were made. You can ship 
an app in weeks or months vs. years and continue to enhance it rather than 
reinventing the wheel. Back in the day (oh, boy, here goes the geezer tales), I 
installed Visual Maxframe, read the documentation, and shipped the initial app 
in two weeks.

I have worked with most of the major frameworks: Mere Mortals, Visual MaxFrame, 
Codebook, West-Wiind, Visual Extend. Sadly, I haven't worked with FoxExpress, 
which I also hear great things about and whose authors I count as friends. IME, 
any framework will get you up and running much faster than building it yourself.

If you want to look at real code that people use in real production 
environments and have tested in real-life conditions, then check out the 
commercial frameworks. (I haven't shopped in a decade, so perhaps others can 
say which are still being maintained)

There are also free ones. I know Codebook is available on this very forum
(https://leafe.com/dls/cb) and there may be others available.


On Mon, Feb 6, 2017 at 3:14 PM, Paul H. Tarver <p...@tpcqpc.com> wrote:
> This is true, but the application was developed in MagicPC and my 
> version of that product only works with Btrieve  v5 and will not work 
> correctly with later versions. We are able to function by using WinXP 
> in a virtual machine and quite frankly if that quits working, I can 
> make it run in a DOS Virtual machine if necessary.
>
> Thanks!
>
> Paul H. Tarver
> Tarver Program Consultants, Inc.
> Tel: 601-483-4404
> Email: p...@tpcqpc.com
>
>
> -----Original Message-----
> From: AndyHC [mailto:a...@hawthorncottage.com]
> Sent: Sunday, February 05, 2017 5:02 AM
> To: profoxt...@leafe.com
> Subject: Re: SQL Backend Question - Part Deux
>
> According to Wikipedia the latest offering from Btrieve is backwards 
> compatible and runs on Win10
> https://en.wikipedia.org/wiki/Btrieve#Pervasive_PSQL_v9
>
[excessive quoting removed by server]

_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/18725b8cd2d5d247873a2baf401d4ab2a44c1...@ex2010-a-fpl.fpl.LOCAL
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to