Jul
03

Today I used a new VFP 9 feature for the first time in a real world scenario – the new ability to query data from a buffered cursor using the new WITH (BUFFERING = .T.) clause/syntax.

I know there are VFP developers and database administrators who will say using this syntax is absolutely wrong because the data still has a chance to be reverted and thus the query result is not reproducible. The information could be used incorrectly to make business decisions and this is not smart, and is not a professional approach. These individuals are absolutely correct when you need to have checks and balances in the database, integrity of the data in the database, and integrity in reporting and analysis.

I on the other hand needed to use this new functionality to check the validity of the data before it was committed to the database. Here is my scenario:

  1. I have data to import from an outside source.
  2. I have data to import from an internal source, but is exported from a different application.
  3. There is a good chance there is duplication from the two data sources.
  4. All data is imported to tabled buffered cursors.
  5. I have to commit the import of the data across three different tables all at once, or not at all. Two of the tables are related.

I begin the transaction and import the data from the internal source, then import the data from the external source checking for the duplicates. I want to review it before I committed the transaction. In the review process I query the various tables to make sure there are no duplicate people, no duplicate vendors, and need to verify all the registrations get set for the appropriate year.

Here is my query to count the number of people with multiple registrations:

SELECT cLastName, cFirstName, COUNT(*) as nCount ;  FROM people WITH (BUFFERING = .T.) ;    JOIN registration WITH (BUFFERING = .T.) ;      ON people.cPeople_PK = registration.cPeople_FK  ;  GROUP BY cLastName, cFirstName ;  HAVING nCount > 1 ;  INTO CURSOR curMultiYearRegistrations

I counted the test data records in advance of the import to make my comparisons. This slicing and dicing of the buffered data saved me a lot of aggravation of removing the imported data when I found errors. I could have blown the database away and restored a backup, but that would have taken more time. I could have imported to a holding area, but that would have made twice the work. I was able to suspend the import process and do some ad hoc queries to verify all is well during each step of the import.

I have another idea where this new syntax will help in HackCX Professional. I anticipate adding a report or summary screen in the next version so you can see all the buffered changes you have made in the class library you are hacking. Sure I can do this without the SQL Select syntax, but I think writing a simple SQL Select is faster and less code than scanning through the whole table to determine what records have changed.

Have you used this new syntax? If so, what for?

Jul
03

I am pleased to announce ProLib Software GmbH is the newest Bronze sponsor for Southwest Fox.

ProLib is located in Germany and has a terrific product called Active FoxPro Pages (offered in the USA by F1 Technologies) helping you put VFP Web applications on the Internet. ProLib has provided two licenses to Active FoxPro Pages to give-away during the conference to some lucky attendees. Thanks wOOdy!

Southwest Fox 2007, Mesa, AZ, October 18 - 21, 2007

Jul
02

We’ve been inundated with registrations this past week and I haven’t had a chance to process them all. So, we’ve decided to extend the early-bird registration until midnight (EDT) Friday, July 6th so you won’t miss your chance to take advantages of the early-bird savings just because of us.

Honestly, I have been overwhelmed by the number of registrations and they have exceeded my wildest expectations. A big thank you to everyone who has registered and to those who plan to register this week and beyond. Friday and Saturday my daughters were giggling every time the fax line rang because they knew I was getting way behind on the processing.

So keep them coming. Heck, as I am writing this blog entry I got a call from a company in Arizona who wants to send four people to the conference. Sweet.

I am so psyched by how great Southwest Fox 2007 is going to be, and cannot wait to start planning Southwest Fox 2008.

Jun
29

I am very excited to announce Sybase iAnywhere is now a Gold sponsor of Southwest Fox 2007!

I was curious why a company like Sybase would like to sponsor our small and humble conference, but the folks at Sybase are very excited about coming and showing what they have to offer Visual FoxPro developers. They are expecting to make some big announcements at the conference. Cool.

You can check out the complete list of sponsors on the Southwest Fox 2007 sponsors page. Please help us show appreciation for all their support of the conference and Fox Community by visiting their pages, and checking out their offerings.

Two more days to get in on the early-bird registration, and 111 days until we meet in Mesa.

Jun
26

For those planning on going to FoxForward this year, you should consider registering by Saturday June 30th so you can save yourself a cool US$100. The price is only US$450 and is a terrific price considering the value you will get out of the conference. The clock is ticking…

Jun
26

Yesterday I was talking to a Lenovo/IBM Technician because I want to know what type of hard drive is in my laptop. I want to purchase a backup drive in case this one fails (part of my disaster recovery plan). The technician tells me I have a SATA drive. Great, MicroCenter is selling a Western Digital 200GB SATA laptop drive for US$60. I was floored by the price so I plan to buy two of them and increase the storage on my machine by 80GB. I need the room. {g}

Then she asks me why I want to know. I explain my requirements to have a back up drive. She goes off for a minute to do something and comes back with “the best drive we have is a 100GB 7200 rpm drive.”

No thanks IBM. She then tells me I have to purchase an IBM Drive because my Lenovo Z61P laptop only takes IBM components. What?!? Seriously?!? I ask her what the deal is, and what is it that possessed Lenovo to architect a laptop to only accept IBM components? Was she pulling my leg? I told her if this is true it is the last Lenovo laptop I am purchasing, period. She could not give me the exact details of why the laptop requires an IBM drive. In fact, I believe she does not know what she is talking about and is reading some script. Stoopid. She said the same thing about memory and I already put in third party memory into a Lenovo laptop.

Do you have a recent or not so recent ThinkPad, and have you upgraded your hard drive?

Jun
25

The fax line is taking a beating (compared to the usual one or two a month I get) and the emails are coming in quite often with the registrations for Southwest Fox 2007, the best Visual FoxPro conference being held in October this year! You can sense the early-bird deadline is approaching when we took in 5 registrations one day last week.

Just in case you have not heard, the early-bird discount is scheduled to expire on July 1st (this coming Sunday). Now is the time to save yourself US$75, get that freebie pre-conference session (US$99 savings and way more value considering the sessions available), AND possibly get a US$300 tuition scholarship for the conference from White Light Computing. Definitely a great deal. There are more surprises on the way too!

Your humble registration taker (me) appreciates all the attendees who already registered and did not wait until the last week because I really need to get *some* development done for my clients. Still, I am willing to work at all hours of the day to process the registrations as they arrive, so keep on sending them!

Doug, Tamar, and I are happy with the registrations so far, but we are expecting this to be a busy week with those who like to wait until the deadline to push the credit card process out as far as possible. We understand, but the clock is ticking and we hope you get in on the great deal we have on the table at the moment. We know VFP developers are familiar with deadlines and how to manage them. Mark your calendar, post the reminder in your calendar software, stick a note on the monitor, or even write on your hand if necessary, but get the registration form filled out and sent in.

While you are at it, invite a friend to come along. The more the merrier.

Don’t forget, if you need me to help you with the boss and getting her/him to send you to Southwest Fox, or any of the other VFP conferences – give me a call or send me an email. I will be happy to help you out.

I hope to see you in Mesa in 115 days!

Jun
21

My new desktop image

For those who like to follow along with my current desktop image, I was able to update today to the latest configuration of the International Space Station (my summer place as I like to joke about).

I borrowed this beautiful picture on the NASA multimedia page.

As a side note: Atlantis is not landing today as planned because of bad weather. The plan is to try again tomorrow at Kennedy Space Center, and Edwards Airforce Base in California as a backup. They are doing a orbital burn to slow the shuttle orbiter down a bit to bring the landing in earlier when the weather is expected to be better.

It is interesting to listen to the interaction between the astronauts and Mission Control in Houston. Checklists after checklists with step-by-step processes ensuring a successful flight. The thing I really notice is the number of “thanks” being passed around. I think the “thanks” part is really missing in business interaction these days, and something I have to remember to do more.

So thanks for reading my blog today {bg}.