Hire Me For Your Project

  • Need a basic website or full featured web application?
  • Need a custom database or software program?
  • Need a blog, portal or e-commerce site installed or configured?
  • Maybe just some advice?
I can help turn your ideas into functional systems that work, or compliment your team with professional high-end development experience.
 
Contact me for a free consultation or hire me for your next successful project.

Continue Reading…

The Ultimate Freelance Customer Satisfaction!

LETTER OF COMMENDATION

I am delighted to submit this letter of commendation for your commitment and business ethic in
developing our company’s web site, namely, www.tenstat.com.

We recently embarked on this journey to develop a world class web based business which in turn would offer a world class service within the property development and rental silo. However, it was not long before we got burned, as the initial company entrusted with our web development did not understand our core business principals, as such, delivered an inferior product in which we were very disappointed, notwithstanding 3 months wasted waiting for the final test product to be delivered.

Entrusting our web development to Ernic Innovative Technologies, was the best decision we could have made, albeit, sceptical at first, due to our mistrusting bias derived from our first web development experience. Your commitment, professionalism and comprehensive understanding of our core business values, are in my opinion the key to you delivering our world class web site surpassing our expectations, competing amongst the best listed on the internet to date. Thank you!

Regards
André van Biljon
CEO

Download André’s original signed letter here.

Thanks for the kind words André and good luck with your web site www.tenstat.com!!

www.tenstat.com

www.tenstat.com

Another Happy Web Design Client

Thank you Arno for your business and all the best with your ventures. Congratulations on your new web site www.cashcentre.co.za !!

What Arno van den Heever had to say about our service:

“It has been a pleasure working with Erhard from Ernic.  He showed a lot of patience and gave us exactly what we were looking for.”

For quality web design and development services contact Erhard on 083 656 4309.

Login Manager Updated! The one-click login tool for web developers and system administrators!

Thanks for all the feedback from users using Login Manager to keep their login details safe and in one place. For those of you that do not have a login manager yet, please try out my free login manager it’s available for download here.

Apart from the normal Remote Desktop, cPanel, WebMail and other basic login types you can store on Login Manager, you can also add automatic login for custom web forms like your admin form of your CMS system. Here’s a short article on how to do it:

1.       From the Login Manager menu, select Add Login->Web Form

2.       Go to your login page with your browser

3.       Right-click, view source and locate the <form> tag.

4.       The property we set on Login Manager is the form method, in this case it’s set to POST.


5.       I can also see from the source there’s no action URL, so this page posts to itself when the login button is pressed and therefore we can set the action URL to the URL you entered to get to the login page.

6.       Then we locate the input tags to get their form field names so that we can set them up in Login Manager with the correct pre-defined values. In this case the username and password:



7.       Once everything is filled out in Login Manager click ok.


8.       That’s it. Now login your custom website from Login Manager with a two clicks.

 

I am trying to create a flawless free Login Manager that helps you with your everyday administrative tasks by providing quick access to all your client’s logins with a single one-click. If you find any problems or have any suggestions to improve this project send me an email to erhard@ernic.co.za

To download your own free copy click here.

How to page through Microsoft SQL records, as you would by using a LIMIT function on MySQL

There’s really only one feature I that I miss from MySQL when developing web applications with a Microsoft SQL backend, and that is the limit function that restricts the index and number of records returned with a SQL Query.

I suppose there are a few options to look at here; I know a few developers suggest using a nested SELECT and the TOP keyword, then ordering the records in a descending way from a second select and using a TOP from there as well. Basically selecting the records you need by in reversing the result set and using TOP to pull the 10 or so out that you’re interested in.

There are also a few others but the one above seems to be the common trend. After lying awake for about 3 hours last night I found a much simpler solution and thought I’d share it with the world. This may not be sufficient on very large record sets but works well in my environment.

To demonstrate I’ll use only a single table called OrgMember with:

OrgMemberID INT PK

FirstName VARCHAR(50)

LastName VARCHAR(50)

To make things a little simpler I created a stored procedure for this particular table. You’ll have to create one like this for each of the tables that you want paging on or, improve this to cater for any table you want.

CREATE PROCEDURE SelectOrgMemberWithPaging

      – Add the parameters for the stored procedure here  

      @Where VARCHAR(500),

      @OrderBy VARCHAR(500),

      @FromRecord INT,

      @Limit INT 

 

Nothing special to the declaration of the stored proc. I am making provision for the passing the WHERE clause on the query I select as well as an order by. This is if I don’t want to select and page through all the records but only, the Smiths for example. Then follows the rest of my stored proc:

 

AS

BEGIN

      – SET NOCOUNT ON added to prevent extra result sets from

      – interfering with SELECT statements.

      SET NOCOUNT ON;

 

 

      DECLARE @SQL VARCHAR(2000)

 

      SET @SQL = ‘DECLARE @TempOrgMember TABLE (     

                        RecordIndex INT identity,

                        OrgMemberID INT,

                        Email VARCHAR(50),

                        FirstName VARCHAR(50),

                        LastName VARCHAR(50)

                        );

 

                        INSERT INTO @TempOrgMember SELECT OrgMemberID,Email,FirstName,LastName FROM OrgMember ‘ + @Where + ‘ ‘ + @OrderBy +

                        SELECT * FROM @TempOrgMember WHERE RecordIndex >= ‘ + CAST(@FromRecord AS VARCHAR) + ‘ AND RecordIndex <= ‘ + CAST((@FromRecord + @Limit - 1) AS VARCHAR)

      EXEC (@SQL)

END

GO

 

And that’s it. Let me explain:

I create a temporary in-memory table to store the results of my SQL query, but I also include a first identity field for the records. This is the key of my paging stored proc. Each record will get a unique sequential index as they are inserted into the table from the SELECT I run.

Then, I insert the records into my temp table by doing a normal select from the source table with the WHERE and ORDERBY clauses attached.

Finally, I select from the temp table where RecordIndex (the unique sequential key) for each record is bigger than or equal to the FromRecord and smaller or equal to the FromRecord + LimitBy indicator.

Makes sense doesn’t it? I didn’t test for efficiency but in this project with the records we’ll be processing it should work just fine.

EXEC SelectOrgMemberWithPaging ,,200,10