April 25, 2006
Talk about good design
My blog has moved. Please go to: http://jstawski.com/archive/2006/04/25/Talk-about-good-design.aspx
Well, well, well, where do I start? I'm recreating this stored procedure for a client and I'm listing all columns I need from a table. What do I see? Something I thought I would never see in my life. The table contained a list of about 14 flags that specified something to be on or off. To be more specific, the columns looked like this: flag1_on, flag1_off, flag2_on, flag2_off and on and on it goes with a total of 7 flags * 2 (1 for off and other for on). I look at the data and I see that when flag1_on is 1 then flag2_off is always 0.
What is the correct design for this table? Well if you have a defined numbers of flags it is ok to have them layed out as columns of the table, but the columns should be flag1, flag2, flag3, etc of type bit. Why bit? Because the bit type holds a value of either 0 or 1; on or off. This gives you 3 possible choices: flag not set (null value), on, or off. If you need only 2 values then you don't allow nulls in the column and specify a default value [optional]. You might ask yourself why not use a char(1), varchar(1), nchar(1), nvarchar(1), or integer for that matter. The answer is very simple: the bit type is the smallest of them all and allows only a 0 or 1, while a char or varchar might allow other characters such as ‘A’, ‘X’, ‘4’, ‘$’, etc and adding inconsistency to the data.
If the number of flags is undefined because they are dynamic then a different approach is taken. You have the parent table with a many-to-many relationship to this newly created table that holds the name of the flag and whether the flag is on or off. In this case the flags are displayed as rows rather than columns.
April 21, 2006
Alabama Code Camp
My blog has moved. Please go to: http://jstawski.com/archive/2006/04/21/Alabama-Code-Camp.aspx
Hello everyone. Please join me Saturday 22nd of April in Alabama for the Alabama Code Camp. If you missed my pervious presentations this will be a good opportunity to attend to them. I'm presenting two sessions N-Tier Application Architecture and Ajax.
And don't forget... Happy Programming!
April 17, 2006
Spanish Language Pack for DotNetNuke (DNN)
My blog has moved. Please go to: http://jstawski.com/archive/2006/04/17/Spanish-Language-Pack-for-DotNetNuke-_2800_DNN_2900_.aspx
Hi everyone! I was in need for a language pack for the es-AR culture (Spanish - Argentina). I couldn't find one, but I did find the es-UY culture (Spanish - Uruguay). The author did an incredible job on translating everything. Both cultures and languages from Uruguay and Argentina are almost identical so I grabbed his Language Pack, created a small app that renamed all the files with es-UY in it to es-AR, and zipped it up. I then uploaded it to my DNN website and worked like a charm. I sent it to the DNN fellas. Here's the link to the DNN Laguage Packs: http://www.dotnetnuke.com/Default.aspx?tabid=785&action=cat
Note: As of the time of this posting, the Language Pack was not uploaded to the DNN website.
As always: Happy Programming!
April 06, 2006
The grid will be rendered without a hyperlink. How to solve this problem, you may ask. After reading this blog I came up with a solution. Use a BoundField with a dataformatstring of an anchor.
Please note that I don't have any spaces in the href=. Hope this helps you guys.