Midwest
Software Development
Corporation --
As Told to
The Blade newsletter
staff:
Some
History
I first downloaded
DevForce several
months ago, version
3.0.8 I think.
I went through
a couple of the
tutorials, tried
to get a project
together in my “spare” time
(something I
have very little
of), and after
a couple days
of playing with
it I never touched
it again.
Then, on Monday, July 10th, my employer announced that the project I
have been working on since January 1st, 2006, in Visual FoxPro was to
be stopped, and everything I had done so far and all new development
would be done in .NET 2.0 and SQL 2005, and this had to happen PRONTO.
At the meeting I asked if they had decided on any particular tools to
use for the .NET development, and the response was “that is up
to you and Daniel (the other programmer at the company).”
Getting
to Work
Starting on
7/11/06, I began
transferring
my FoxPro data
tables to a SQL
2005 database.
On 7/12/06, I downloaded DevForce version 3.1.5 and ALL of the documentation,
help, tutorials, etc. I could find on your website (a total of 44 files).
I printed the Developers Guide and the Concepts Guide, and began reading.
It wasn’t very long that I realized that my SQL data had to have
some things changed. I was using character keys in FoxPro where integer
keys would be better in SQL, so I spent the next two days (7/13-7/14)
modifying my SQL data, and establishing primary keys, and relationships.
Then on the evening of the 14th, I started working with DevForce 3.1.5.
I started building a “Hello, DevForce!” sample, based on
your sample data. I finally wound up with a working project at 1:47AM
in the morning.
View the screen shot section 1:
Somewhere in
the process of
building the
Hello, DevForce!
Project, I decided
to begin building
a project using
my own data,
and thus I started
the SPAViewer
project, and
using the Object
Mapper, added
the company and
parker tables,
but didn’t
get any farther
than that.
After successfully running the Hello, DevForce! Project, and with my
eyes threatening a mutiny, I finally went to bed.
My First “Real” Project
Beginning on
the evening of
the 15th, I focused
completely on
getting my SPAViewer
application built
and running.
By taking simple steps and referring to the Hello, DevForce! app when
things didn’t make any sense, I was able to get the Company table
to relate to the Parker table and display correctly on the form.
By late on the 18th, the SPAViewer app was finally done.
It took a total of 3 days, and probably about 25-30 hours to complete.
Also note that Add / Save / Delete functions are not supported in this
application.
My sample app (named SPAViewer) displays 4 related tables from a much
larger SQL database.
This shows information relating to monthly parking accounts at a parking
management company in Chicago, IL.
This application consists of 4 separate forms. The database is SQL 2005.
There are 4 tables involved:
SPALOCATION
- Contains different
locations (433
rows)
SPACOMPANY - Companies (and individuals) that park on a monthly basis
at the various locations (27,164 rows)
SPAPARKER - Individuals that park at the location, associated with a
particular company (42,506 rows)
SPAVEHICLE - Vehicles driven by individuals (37,699 rows)
View the screen shot
section 2:
The binocular
icon on the main
form opens a
CompanyLookup
form:
View
the screen
shot section
3:
Users can choose
a location to
search in the
CompanyLookup
form, as well
as filter based
on Active and
Individual flags
in the Company
table. The following
view shows the
list filtered
for Active Corporate
accounts only:
View
the screen
shot section
4:
On the main
form, the list
of parkers is
specific to the
company shown:
View
the screen
shot section
5:
For any parker,
clicking the
Vehicles tab
will show the
vehicles registered
to the selected
parker:
View
the screen
shot section
6:
Clicking the
button in the
Details column
of either the
Parkers or Vehicles
grid displays
the associated
detail form:
First, the Parkers
form – note
that all parkers
for the current
company are available:
View
the screen
shot section
7:
Next, the Vehicles
form, which only
shows vehicles
related to the
current parker:
View
the screen
shot section
8:
This picture
shows all forms
open at the same
time:
View
the screen
shot section
9:
Conclusion
Using DevForce,
I was able to
build this application
in very little
time compared
to what it would
have taken me
to build an identical
application without
DevForce.
The application
I built is very
responsive, with
the forms populating
instantly when
using either
local data (on
my machine) or
remote data (through
a VPN).
All in all,
I wrote about
260 lines of
code (I am counting
lines that have
nothing but open
or close braces)
to achieve this
functionality.
I am very impressed
with what I have
been able to
accomplish in
a relatively
short period
of time with
a product that
I know very little
about.
I look forward
to building more
projects with
this incredible
tool you call
DevForce.
|