Posts

Showing posts with the label SQL

T-SQL: Prudent use of Select ... As

Every database developer using T-SQL will agree that the Select ... As feature allows one to easily grab values into a variable. However, after I got my fingers burnt recently, I had to share this to remind everyone how important it is to exercise prudence with its usage. Given the table below, assuming its an SQL table named Students. Id Name Age Class 1 Fade Ayomi 10 5 2 Oluwayomi Ojo 9 6 3 Kemi Mide 8 4 And given the SQL statements below which performs certain operations on the table given above declare @ StudentAge int ; select @ StudentAge = Age from Students where Id = 1 ; set @ StudentAge = Age * 2 ; select @ StudentAge = Age from Students where Id = 5 ; select @ StudentAge as AgeSelected; So what would AgeSelected resolve to according to the provided information? Ordinarily, one would expect AgeSelected to be NULL however, since @StudentAge carried a value initially, and the row described in the where clause do not exist in the table, @Stud...

Retrieve Source Code from Compiled .NET Program

Image
Background I found myself in this mess. I wrote a lovely windows service to handle data replication between two SQL Servers. I know this isn't the best way to go about it, but the requirement came in late into the project and the database design wasn't going to support automatic replication provided by SQL Server, so I had to develop this windows service. Unfortunately, I lost the source code and backup in a robbery incident and I'm left with just the compiled version deployed with a client. Issue A bug showed up which needed to be fixed, but I didn't have the source anymore. I would have had to go through the stress of re-writing the entire code which took about a month to complete initially if I didn't run into this solution. I'm feeling great right now! Solution It happens that there are a couple of projects targeted at de-compiling .NET codes. I found two: 1 .NET Reflector 2. Just Decompile I tried the .NET reflector and it worked like m...