There's more to LINQ than just writing your SQL SELECT statements backwards. If you're interested in becoming familiar with LINQ (Language-Integrated Query), the series on Converting SQL to LINQ from the Visual Basic Team blog looks like a good place to start. Five articles have been published so far, with two more to follow.
Converting SQL to LINQ, Part 1: The Basics (Bill Horst)
Converting SQL to LINQ, Part 2: FROM and SELECT (Bill Horst)
Converting SQL to LINQ, Part 3: DISTINCT, WHERE, ORDER BY and Operators (Bill Horst)
Converting SQL to LINQ, Part 4: Functions (Bill Horst)
Converting SQL to LINQ, Part 5: GROUP BY and HAVING (Bill Horst)
Other LINQ links:
Language-Integrated Query (LINQ)
The LINQ Project
LINQ to SQL: .NET Language-Integrated Query for Relational Data
Tags: LINQ
12.20.2007
10.25.2007
Security update for Adobe Reader and Acrobat
On Monday Adobe published a security bulletin announcing the availability of updates to address "critical vulnerabilities" in Adobe Reader and Acrobat. Those using version 8.1 or earlier of these products are "strongly recommended" to upgrade to version 8.1.1. The update is available via the products' automatic update feature or by direct download from links provided in the bulletin. Version 7.0.9 and earlier of these products are evidently also affected, with an update to be available "at a later date".
Tags: Adobe, Adobe Reader, Acrobat
Tags: Adobe, Adobe Reader, Acrobat
Southwest Fox 2007 Wrap-Up
I got back late Sunday night from Phoenix after spending four awesome days at Southwest Fox 2007. What an outstanding event this turned out to be! Rick Schummer, Tamar Granor, and Doug Hennig, who took over as conference organizers this year, did an excellent job. They deserve a ton of credit for their efforts and for the resulting success of this year's conference.
In the spirit of full disclosure, I attended as a speaker so my travel and hotel expenses were covered by the conference. However, we speakers are volunteers and are not paid for our presentations nor for the time it takes to prepare them, so my enthusiasm for this event comes from the heart, not from the wallet.
At something over 150, not counting speakers and staff, this year's attendance was more than double last year's. If I correctly remember the numbers Rick Schummer announced at the keynote session, people came from 35 states and 7 foreign countries to be there. Old friendships were renewed and new ones begun. Sessions were well attended. People were excited and continued talking with one another well past session ending times. Outside the session rooms, sidebar discussions were going on all the time. You could feel the energy level running throughout the conference.
In short, the buzz was definitely back.
With 27 separate presentations (not counting pre-conference and vendor sessions) and 14 mainline time slots, there was literally so much technical content you couldn't see it all. But of course every attendee received complete session materials and code samples on CD, so we can explore the sessions we couldn't attend along with anything we did see but couldn't fully absorb in 75 minutes. In addition, the conference organizers made the session materials available for download a few days in advance of the actual conference. Some people commented later that they took advantage of this to read the white papers and look over the slides before attending the live presentations, which really enhanced the session experience for them.
The conference venue -- The Arizona Golf Resort and Conference Center in Mesa -- was beautiful and in my opinion well suited to a conference of this size and type. We pretty well filled up the one conference center building where all the general and breakout sessions took place, although the resort has at least one other conference building as well. Breakfast and lunch were provided by the conference and served in a banquet/party room adjacent to the conference center building. There were plenty of tables and chairs so there was no waiting for somebody else to finish eating before you could sit down. The dining room had a nice open feeling with lots of windows, conducive to relaxation and conversation. Tables were also set up in the outdoor courtyard so those with a preference for sunshine (and there was plenty of that!) could eat outside. Personally, I thought the choice of foods was among the best I've seen at a conference. The Resort's catering and support staff were uniformly attentive and courteous and did a fine job of making things go smoothly without being intrusive.
Although I was primarily there as a speaker, I also took advantage of the opportunity to sit in on other speakers' sessions when I wasn't presenting one of my own. Any doubts anyone might have had about the strong future of Visual FoxPro were easily dispelled by the broad spectrum of VFP and VFP-related technical content presented at Southwest Fox. Although most of it is community-based these days, there is so much going on in so many areas that there is no doubt VFP will continue to remain vital and growing for a long time to come, despite Microsoft's decision to end further enhancement of the core product.
One side note: Near the end of my session on Framework Fundamentals, I showed a sample application whose "About" screen included the cool "Three Kokopellis" postage stamp graphic representing the Southwest Fox conference logo. Dave Aring of Visionpace is the creative talent behind that and the other graphics for the conference. I meant to acknowledge Dave, who was seated in the back of the room, but in my haste to finish the presentation on time I forgot to do so. Dave didn't ask to be mentioned for this, but he deserves to be. Thanks for the great work, Dave, and for contributing it to the conference.
Southwest Fox was definitely a highlight of the year. I came back feeling totally re-energized by the experience, with lots of good ideas to apply in my future development work. If I can leverage even a fraction of what I learned, both my clients and I will benefit greatly.
Perhaps the best news of all: Southwest Fox 2008 was announced for Oct. 16-19, 2008. Mark your calendars!
Tags: Southwest Fox, SWFox, Visual FoxPro, VFP, Visionpace
In the spirit of full disclosure, I attended as a speaker so my travel and hotel expenses were covered by the conference. However, we speakers are volunteers and are not paid for our presentations nor for the time it takes to prepare them, so my enthusiasm for this event comes from the heart, not from the wallet.
At something over 150, not counting speakers and staff, this year's attendance was more than double last year's. If I correctly remember the numbers Rick Schummer announced at the keynote session, people came from 35 states and 7 foreign countries to be there. Old friendships were renewed and new ones begun. Sessions were well attended. People were excited and continued talking with one another well past session ending times. Outside the session rooms, sidebar discussions were going on all the time. You could feel the energy level running throughout the conference.
In short, the buzz was definitely back.
With 27 separate presentations (not counting pre-conference and vendor sessions) and 14 mainline time slots, there was literally so much technical content you couldn't see it all. But of course every attendee received complete session materials and code samples on CD, so we can explore the sessions we couldn't attend along with anything we did see but couldn't fully absorb in 75 minutes. In addition, the conference organizers made the session materials available for download a few days in advance of the actual conference. Some people commented later that they took advantage of this to read the white papers and look over the slides before attending the live presentations, which really enhanced the session experience for them.
The conference venue -- The Arizona Golf Resort and Conference Center in Mesa -- was beautiful and in my opinion well suited to a conference of this size and type. We pretty well filled up the one conference center building where all the general and breakout sessions took place, although the resort has at least one other conference building as well. Breakfast and lunch were provided by the conference and served in a banquet/party room adjacent to the conference center building. There were plenty of tables and chairs so there was no waiting for somebody else to finish eating before you could sit down. The dining room had a nice open feeling with lots of windows, conducive to relaxation and conversation. Tables were also set up in the outdoor courtyard so those with a preference for sunshine (and there was plenty of that!) could eat outside. Personally, I thought the choice of foods was among the best I've seen at a conference. The Resort's catering and support staff were uniformly attentive and courteous and did a fine job of making things go smoothly without being intrusive.
Although I was primarily there as a speaker, I also took advantage of the opportunity to sit in on other speakers' sessions when I wasn't presenting one of my own. Any doubts anyone might have had about the strong future of Visual FoxPro were easily dispelled by the broad spectrum of VFP and VFP-related technical content presented at Southwest Fox. Although most of it is community-based these days, there is so much going on in so many areas that there is no doubt VFP will continue to remain vital and growing for a long time to come, despite Microsoft's decision to end further enhancement of the core product.
One side note: Near the end of my session on Framework Fundamentals, I showed a sample application whose "About" screen included the cool "Three Kokopellis" postage stamp graphic representing the Southwest Fox conference logo. Dave Aring of Visionpace is the creative talent behind that and the other graphics for the conference. I meant to acknowledge Dave, who was seated in the back of the room, but in my haste to finish the presentation on time I forgot to do so. Dave didn't ask to be mentioned for this, but he deserves to be. Thanks for the great work, Dave, and for contributing it to the conference.
Southwest Fox was definitely a highlight of the year. I came back feeling totally re-energized by the experience, with lots of good ideas to apply in my future development work. If I can leverage even a fraction of what I learned, both my clients and I will benefit greatly.
Perhaps the best news of all: Southwest Fox 2008 was announced for Oct. 16-19, 2008. Mark your calendars!
Tags: Southwest Fox, SWFox, Visual FoxPro, VFP, Visionpace
10.15.2007
Coming up for air
Okay, where did the summer go??
I realize it's been very quiet here on fiat volpes since the end of June. I wasn't intentionally staying away. I've been heads down on several projects this summer, plus preparing two presentations for the Southwest Fox conference later this week. And all of sudden it's October.
I expect to get back to more regular posting from now on. One news item today: if you're interested, a PDF of my paper on Automating the Build from last year's Southwest Fox conference (2006) is now available for download from the FoxPro Developers page on my website. There's also an HTML version, but the PDF is much more readable so choose it if you can.
Tags: Southwest Fox
I realize it's been very quiet here on fiat volpes since the end of June. I wasn't intentionally staying away. I've been heads down on several projects this summer, plus preparing two presentations for the Southwest Fox conference later this week. And all of sudden it's October.
I expect to get back to more regular posting from now on. One news item today: if you're interested, a PDF of my paper on Automating the Build from last year's Southwest Fox conference (2006) is now available for download from the FoxPro Developers page on my website. There's also an HTML version, but the PDF is much more readable so choose it if you can.
Tags: Southwest Fox
6.30.2007
Southwest Fox 2007 Early-Bird Registration Deadline
This weekend is your last chance to take advantage of the early-bird registration for Southwest Fox 2007. Register by July 1 and save $75 off the regular registration price, plus you get a free pre-conference session (a $99 value). On top of that, early-bird registrations are eligible to win the $300 White Light Computing scholarship (see the scholarship page for official details).
Southwest Fox 2007, a premier conference for Visual FoxPro developers, will be held October 18-21, 2007 at the Arizona Golf Resort and Conference Center in Mesa, Arizona. This is a new venue for the conference, and from the photos and descriptions on the conference hotel page it looks like a beautiful place to spend a few days in October. SWFox has earned a reputation as an outstanding conference for content, value, and location, and new conference organizers Rick Schummer, Doug Hennig and Tamar Granor have done a terrific job putting this one together. Don't miss out!
Southwest Fox 2007, a premier conference for Visual FoxPro developers, will be held October 18-21, 2007 at the Arizona Golf Resort and Conference Center in Mesa, Arizona. This is a new venue for the conference, and from the photos and descriptions on the conference hotel page it looks like a beautiful place to spend a few days in October. SWFox has earned a reputation as an outstanding conference for content, value, and location, and new conference organizers Rick Schummer, Doug Hennig and Tamar Granor have done a terrific job putting this one together. Don't miss out!
5.16.2007
Your code is suboptimal
SourceGear's Eric Sink came back from SD West 2007 with some extra T-shirts. SourceGear, in case you didn't know, makes tools for professional software developers, and founder Eric Sink is a prolific writer on the subject of software development and the business of software. His blog posts and other writings have earned him a reputation as a guy worth listening to; IMO his stuff is required reading for anyone in the software business.
Back to the T-shirts. At SD West 2007, the deal was you had to agree to wear it around the conference to get one. Rather than letting the extras sit around in a box in the back of the office, Eric's now making them available to anyone who asks and agrees to post a photo of themself wearing it (plus a couple of other requirements - read his blog post for details).
This sounded like fun, and hey, you can't have too many geek T-shirts, can you? So thanks, Eric, for the 'Evil Mastermind' shirt. Here's my photo; as you can see, I had a little fun with it, too. The full-size image is on Flickr.
Tags: SourceGear, Eric Sink, Southwest Fox
Back to the T-shirts. At SD West 2007, the deal was you had to agree to wear it around the conference to get one. Rather than letting the extras sit around in a box in the back of the office, Eric's now making them available to anyone who asks and agrees to post a photo of themself wearing it (plus a couple of other requirements - read his blog post for details).
This sounded like fun, and hey, you can't have too many geek T-shirts, can you? So thanks, Eric, for the 'Evil Mastermind' shirt. Here's my photo; as you can see, I had a little fun with it, too. The full-size image is on Flickr.
Side note for anybody who's going to Southwest Fox 2007 in Phoenix in October: Keep your eyes open for me wearing this shirt. The first person who comes up to me there and tells me they saw this picture on my blog earns a frosty-cold beverage of their choice.
Tags: SourceGear, Eric Sink, Southwest Fox
5.08.2007
75% Discount on ListPro
ListPro, a terrific little tool for creating and managing lists of all kinds, is featured on Bits du Jour today for only $4.95 against its regular price of $19.95.
I've used ListPro for several years and have found it to be useful for all kinds of personal and work-related lists. For example, the screenshot is a sample software deployment checklist I demo'd at a recent conference presentation. Items in a list can be arranged into groups in a hierarchy, and groups can be expanded or folded up for ease of use. List items can also be easily moved around to alter their sequence and relative position in the hierarchy. This screenshot shows only two of the several columns that can be associated with each item in a list. I also use ListPro to maintain my pre-conference packing and checklist when preparing to leave on a trip.
As with all items on Bits du Jour, this is a one-day price. ListPro is available for Windows PCs as well as for handheld and other mobile devices.
Tags: ListPro, Ilium Software, Bits du Jour
I've used ListPro for several years and have found it to be useful for all kinds of personal and work-related lists. For example, the screenshot is a sample software deployment checklist I demo'd at a recent conference presentation. Items in a list can be arranged into groups in a hierarchy, and groups can be expanded or folded up for ease of use. List items can also be easily moved around to alter their sequence and relative position in the hierarchy. This screenshot shows only two of the several columns that can be associated with each item in a list. I also use ListPro to maintain my pre-conference packing and checklist when preparing to leave on a trip.
As with all items on Bits du Jour, this is a one-day price. ListPro is available for Windows PCs as well as for handheld and other mobile devices.
Tags: ListPro, Ilium Software, Bits du Jour
4.27.2007
The FoxShow is back
It's great to see Andrew MacNeill's podcast The FoxShow return after a bit of an extended hiatus. The new show is a goodie, a 45+ minute interview and videocast with Brian Marquis in which he demonstrates a new approach for developing interactive Web apps in Visual FoxPro called VFP on Rails. Brian showed VFP on Rails at Chicago FUDG recently and stimluated quite a bit of interest among members, including Randy Jean who picked up on the idea and posted about it in his blog entry Exploring VFP on Rails.
Good stuff, Brian, and a big "Glad to see you back!" to Andrew and The FoxShow.
Tags: The FoxShow, Andrew MacNeill, VFP on Rails, Brian Marquis, Chicago FUDG, Randy Jean, Visual FoxPro
Good stuff, Brian, and a big "Glad to see you back!" to Andrew and The FoxShow.
Tags: The FoxShow, Andrew MacNeill, VFP on Rails, Brian Marquis, Chicago FUDG, Randy Jean, Visual FoxPro
4.06.2007
50% Discount on RSS Feed Editor from ExtraLabs
Bits du Jour is featuring Feed Editor from ExtraLabs Software today at a 50% discount. This is one of the commercial products I showed in my session on RSS at Southwest Fox 2006 in Phoenix last October. The one-day-only discount price on Bits du Jour is $19.98, against the regular price of $39.95.
Tags: Feed Editor, ExtraLabs Software, Bits du Jour, Southwest Fox
Tags: Feed Editor, ExtraLabs Software, Bits du Jour, Southwest Fox
3.18.2007
Remove Internet Explorer [Humor]
3.17.2007
"Works on My Machine" Certification
Heh. Over on Coding Horror, Jeff Atwood picks up on an idea from Joseph Cooney and, with some help from Jon Galloway, offers up a couple of cool logos for the "Works on My Machine" software certification program.
How often have most of us in the software development biz wished we really could take refuge in this mantra? Well, you can't, but at least now you can get the T-shirt.
It's a quick read, with some good laughs along the way.
Tags: Coding Horror, Jeff Atwood, Joseph Cooney, Jon Galloway
How often have most of us in the software development biz wished we really could take refuge in this mantra? Well, you can't, but at least now you can get the T-shirt.
It's a quick read, with some good laughs along the way.
Tags: Coding Horror, Jeff Atwood, Joseph Cooney, Jon Galloway
3.03.2007
Inno Setup 5.1.11
Inno Setup 5.1.11 is out, with a change to use the native regsvr32.exe for DLL registrations. See the release notes for why this matters under Windows Vista.
Tags: Inno Setup, Windows Vista
Tags: Inno Setup, Windows Vista
2.22.2007
2.21.2007
Managing Passwords
I use a password manager utility to store all my usernames and passwords in an encrypted database. From time to time I print them out and deposit the list in a safe deposit box as a backup. Each time I do this, I make a mental note of how many entries I'm keeping track of.
When I started using this password manager about five years ago, the database contained 59 entries. Today it has 254.
To quote a favorite line from a favorite movie, "That's a lot of nuts!"
Admittedly, there's some dead wood in there, and a few are entries I maintain for clients to help them out when their memory fails, but I'd guess easily 80% of what's in there represents my own active accounts of one type or another.
What's amazing is how many of the dumb things I can remember without looking them up. Talk about brain clutter...
No real point to this, just the observation that the list has gotten that large and the speculation that most of us -- software developers, anyway -- probably have to keep track of an equal or greater number. What about you: how many usernames and passwords do you need to keep track of?
When I started using this password manager about five years ago, the database contained 59 entries. Today it has 254.
To quote a favorite line from a favorite movie, "That's a lot of nuts!"
Admittedly, there's some dead wood in there, and a few are entries I maintain for clients to help them out when their memory fails, but I'd guess easily 80% of what's in there represents my own active accounts of one type or another.
What's amazing is how many of the dumb things I can remember without looking them up. Talk about brain clutter...
No real point to this, just the observation that the list has gotten that large and the speculation that most of us -- software developers, anyway -- probably have to keep track of an equal or greater number. What about you: how many usernames and passwords do you need to keep track of?
2.20.2007
Article on Potential Windows Installer Issues under Windows Vista
Windows Installer MVP Stefan Krueger has published 7 Reasons Why your Installations May Fail on Windows Vista (And How You Can Fix Them). A short and useful read with the focus on Windows Installer technology, Krueger discusses the issues and offers solutions to some potential problems you may encounter with MSI deployments under Windows Vista. The article is available on the Macrovision website at www.macrovision.com/company/news/newsletter/tips/is_vista.shtml.
Krueger also runs InstallSite.org, a forum for installation developers. Over the years I've found this site to be full of good resources, particularly relating to Windows Installer.
Tags: Windows Installer, Windows Vista, Stefan Krueger, InstallSite.org, Macrovision
Krueger also runs InstallSite.org, a forum for installation developers. Over the years I've found this site to be full of good resources, particularly relating to Windows Installer.
Tags: Windows Installer, Windows Vista, Stefan Krueger, InstallSite.org, Macrovision
2.19.2007
SnagIt update fixes conflict with Logitech mouse software
The latest SnagIt update v8.2.1 fixes a show-stopper issue earlier versions had with some Logitech mouse software. I ran into this problem yesterday after installing the software for a new Logitech® VX Revolution™ cordless laser mouse on my laptop PC. When hovered over the SnagIt v8.2 window, the mouse icon flashed rapidly—it appeared to be alternating between the normal arrow icon and the wait/busy hourglass icon—and clicking anything in the SnagIt window had no effect.
In my experience this problem did not occur with older Logitech mouse software: I've been using a Logitech MX 1000 cordless laser mouse on my desktop machine for a long time and there were no conflicts with SnagIt v8.2 or earlier. In any case, the v8.2.1 update resolved the problem with the new Logitech mouse software on my laptop PC.
BTW, the VX Revolution cordless laser mouse is without doubt the best notebook mouse I've ever used, and ditto for the MX 1000 cordless laser desktop mouse. When my desktop mouse bites the dust I'm sure I'll be looking to replace it with the latest MX model from Logitech.
Tags: SnagIt, Logitech, laser mouse
In my experience this problem did not occur with older Logitech mouse software: I've been using a Logitech MX 1000 cordless laser mouse on my desktop machine for a long time and there were no conflicts with SnagIt v8.2 or earlier. In any case, the v8.2.1 update resolved the problem with the new Logitech mouse software on my laptop PC.
BTW, the VX Revolution cordless laser mouse is without doubt the best notebook mouse I've ever used, and ditto for the MX 1000 cordless laser desktop mouse. When my desktop mouse bites the dust I'm sure I'll be looking to replace it with the latest MX model from Logitech.
Tags: SnagIt, Logitech, laser mouse
2.10.2007
Cool tool for presenters
Mark Russinovich of Sysinternals (which was acquired by Microsoft last summer) has written and released ZoomIt, a free tool for presenters. ZoomIt provides a screen magnifier, a drawing pen and a break timer, each available via its own hotkey combination. The pen can be used with or without the magnifier, and the break timer remains active even if you Alt+Tab to a different task. IMO a highlighter would be more useful than a pen, and the timer evidently resets itself if you use one of the other two tools, otherwise it could be used as a session timer for shorter presentations that don't include breaks. Still, it's one more neat little tool you can use to help make your presentations more effective. Information and and a download link available at www.microsoft.com/technet/sysinternals/utilities/zoomit.mspx. And an acknowledgement to fullasagoog.com for picking up the post where I first learned about ZoomIt this evening.
Tags: ZoomIt, Sysinternals, fullasagoog.com
Tags: ZoomIt, Sysinternals, fullasagoog.com
2.09.2007
VMWare IPO
EMC Corporation has announced plans to take 10% of VMWare public via an IPO "sometime this summer." The announcement from VMware President Diane Greene is here, and the press release is here.
Tags: VMWare, EMC Corporation
Tags: VMWare, EMC Corporation
2.08.2007
What's in a name?
A recent thread on foxforum.com pointed out an interesting question about the syntax of the Visual FoxPro INSERT - SQL command. The VFP Help file gives the syntax for this command as
The question raised (and answered) in the forum thread was, can you use an alias for "dbf_name" in an INSERT statement? The answer of course is yes, and most of us probably do so without even thinking about it.
For example, most of us would be perfectly comfortable writing code like this
The answer is, it depends. If there is an open work area whose alias is table1, as in the example above, then VFP inserts the record into the table that's open in that work area (which may or may not be table1.dbf, as we'll see in a minute). If there is no open work whose alias is table1, then VFP looks for a table named table1.dbf either already open under another alias, or not open but existing on disk. If it finds table1.dbf, VFP inserts the record into that table.
When a work area's alias is the same as the name of the table that's open in that work area, there's no ambiguity. But if the alias is different than the table name, things may not work as expected. Therefore it's important to recognize when we're using an alias and when we're using a table name.
Consider the following:
The answer is, Bob's in table2.dbf. The INSERT statement can be read as "insert a record into the table that's open in the work area whose alias is table1". The table that's open in that work area is table2.dbf, so that's where Bob goes.
Similarly, if we follow up with
To avoid confusion, we can tell VFP we're specifying a table name instead of an alias by including the file name extension.
It may be helpful to remember that an alias refers to a work area, not to a specific table. In any case, the point is it's important to know when "dbf_name" is an alias and when it's a table name in a VFP INSERT statement.
Tags: Visual FoxPro
INSERT INTO dbf_name [(FieldName1 [, FieldName2, ...])]where "dbf_name" is defined as "the name of the table for appending a new record".
VALUES (eExpression1 [, eExpression2, ...])
The question raised (and answered) in the forum thread was, can you use an alias for "dbf_name" in an INSERT statement? The answer of course is yes, and most of us probably do so without even thinking about it.
For example, most of us would be perfectly comfortable writing code like this
CREATE TABLE table1 ( cField1 C(10))which creates a table named table1.dbf and adds Bob to it, as expected. But there's a hidden question lurking here: in the INSERT statement, is "table1" the name of a table or the alias of a work area?
INSERT INTO table1 ( cField1) VALUES ( "Bob")
The answer is, it depends. If there is an open work area whose alias is table1, as in the example above, then VFP inserts the record into the table that's open in that work area (which may or may not be table1.dbf, as we'll see in a minute). If there is no open work whose alias is table1, then VFP looks for a table named table1.dbf either already open under another alias, or not open but existing on disk. If it finds table1.dbf, VFP inserts the record into that table.
When a work area's alias is the same as the name of the table that's open in that work area, there's no ambiguity. But if the alias is different than the table name, things may not work as expected. Therefore it's important to recognize when we're using an alias and when we're using a table name.
Consider the following:
CREATE TABLE table1 ( cField1 C(10))Note that table1.dbf is now open in work area 1 using alias table2, and table2.dbf is now open in work area 2 using alias table1, like this:
CREATE TABLE table2 ( cField1 C(10))
CLOSE ALL
USE table1 IN 0 ALIAS table2
USE table2 IN 0 ALIAS table1
-------- ------- ----------So now if we write
WORKAREA ALIAS() DBF()
-------- ------- ----------
1 table2 table1.dbf
2 table1 table2.dbf
-------- ------- ----------
INSERT INTO table1 ( cField1) VALUES ( "Bob")then the question is, where's Bob? In table1.dbf or in table2.dbf?
The answer is, Bob's in table2.dbf. The INSERT statement can be read as "insert a record into the table that's open in the work area whose alias is table1". The table that's open in that work area is table2.dbf, so that's where Bob goes.
Similarly, if we follow up with
INSERT INTO table2 ( cField1) VALUES ( "Carol")then Carol ends up in table1.dbf.
To avoid confusion, we can tell VFP we're specifying a table name instead of an alias by including the file name extension.
INSERT INTO table1.dbf ( cField1) VALUES ( "Ted")This is unambiguous regardless of any aliases currently in use, so Ted ends up in table1.dbf with Carol, and Alice goes in table2.dbf with Bob. (Which is sort of what happens in the movie, I think. Either that, or all four of them ended up in table3. It's been a long time since I saw that movie...)
INSERT INTO table2.dbf ( cField1) VALUES ( "Alice")
It may be helpful to remember that an alias refers to a work area, not to a specific table. In any case, the point is it's important to know when "dbf_name" is an alias and when it's a table name in a VFP INSERT statement.
Tags: Visual FoxPro
1.13.2007
Tagged! Five Things
I got tagged by Alex Feldstein, so in the spirit of the game here are five things you might not know about me:
1. I lived overseas for several years while growing up. My dad was in the Foreign Service and we got an assignment to a new country every two or three years. Each move meant learning a new language, adapting to a new culture, adjusting to a new school, and making a new set of friends, but overall it was a great experience.
2. It's been a while since I rode, but I enjoy cross-country touring by motorcyle. My favorite trip is the big circle route from Illinois up into Ontario, Canada, all the way around Lake Superior, and back down the other side. I've done that route three times, I think. Those trips are kind of ancient history now, but I still own the bike.
3. I got my private pilot's license several years ago, something I'd always wanted to do and probably the most fun thing I've ever done. Flight Simulator is great, but there's nothing like flying a real aircraft.
4. I used to teach evening classes in computer programming at our community college. I've always felt that teaching, writing, and giving presentations at conferences and users groups is a genuinely rewarding experience and a nice change of pace from the actual practice of doing software design and development all day.
5. My family and I are on a quest to visit all 30 major league baseball parks. So far we've been to 17 of them. Planning vacation trips to coincide with home games in two or three cities in the same week can be challenging, but it's great fun. Mostly what we have left are the Northeast and Southern California ballparks.
Let's see, who haven't we heard from for a little while (or in some case, for a long while)? I tag:
Dave Bernard
Craig Boyd
Esparta Palma (in Mexico)
Emerson Reed (in Brazil)
David Stevenson
1. I lived overseas for several years while growing up. My dad was in the Foreign Service and we got an assignment to a new country every two or three years. Each move meant learning a new language, adapting to a new culture, adjusting to a new school, and making a new set of friends, but overall it was a great experience.
2. It's been a while since I rode, but I enjoy cross-country touring by motorcyle. My favorite trip is the big circle route from Illinois up into Ontario, Canada, all the way around Lake Superior, and back down the other side. I've done that route three times, I think. Those trips are kind of ancient history now, but I still own the bike.
3. I got my private pilot's license several years ago, something I'd always wanted to do and probably the most fun thing I've ever done. Flight Simulator is great, but there's nothing like flying a real aircraft.
4. I used to teach evening classes in computer programming at our community college. I've always felt that teaching, writing, and giving presentations at conferences and users groups is a genuinely rewarding experience and a nice change of pace from the actual practice of doing software design and development all day.
5. My family and I are on a quest to visit all 30 major league baseball parks. So far we've been to 17 of them. Planning vacation trips to coincide with home games in two or three cities in the same week can be challenging, but it's great fun. Mostly what we have left are the Northeast and Southern California ballparks.
Let's see, who haven't we heard from for a little while (or in some case, for a long while)? I tag:
Dave Bernard
Craig Boyd
Esparta Palma (in Mexico)
Emerson Reed (in Brazil)
David Stevenson
1.08.2007
FeedDemon 2.1 Help File now available as PDF
The Help file for NewGator's popular FeedDemon feed reader is now available as a PDF. Previously, FeedDemon Help has been available only online. The NewsGator KB article DOC: FeedDemon 2.1 Offline help file has the link for downloading the PDF. Thanks to NewGator's Jonathon McDougall for posting this news on the FeedDemon technical support forum.
Tags: FeedDemon
Tags: FeedDemon
1.05.2007
Font Xplorer is now free
Font Xplorer 1.2.2 from Moon Software is now available for free. A few years ago when I was looking for a font utility, I found this one and liked it well enough to pay for it. Now the author is making this version free, evidently as an incentive to himself to get a new version out the door this year (an interesting approach to self motivation). Moon Software also offers Password Agent, a fine password manager, as well as several little free utilities.
Tags: Font Xplorer, Moon Software
Tags: Font Xplorer, Moon Software
Subscribe to:
Posts (Atom)