Monday, November 17, 2008

IT priorities 2008/09

Source: ZDNet Asia IT Priorities Survey 2008/09

Monday, November 10, 2008

prism error on chrome...

chrome not ready for sap? or prism not ready for chrome?

Wednesday, November 5, 2008

Philippine Telcos' Wireless Mobile Broadband Comparison/Matrix


Smartbro Globe Visibility Sun Broadband
Connection/ GPRS/EDGE/ GPRS/EDGE/3G/ GPRS/EDGE/
Technology 3G/HSDPA HSDPA/Wiz Wi-Fi 3G/HSDPA








Plan A


Monthly Cost (Php) 799 799 799
Mobile hours 60 hrs 40 hrs 60 hrs
Max speed (bps) 2mb 3G 384k, hsdpa 1.8m 400k
Excess P10 /30 mins P5 /15 mins P0.30 / min
Free x 2 Wi-Fi hrs x




Plan B


Monthly Cost (Php) 999
999 999
Mobile hours not mobile
60 hrs Unlimited
Max speed (bps) 384k 3G 384k, hsdpa 1.8m 400k
Free unlimited hrs, canopy install
3 Wi-Fi hrs x




Plan C


Monthly Cost (Php) 1500 1499 1999
Mobile hours Unlimited 100 hrs Unlimited
Max speed (bps) 2m 3G 384k, hsdpa 1.8m 1.4m
Excess x P5 /15 mins x
Free x Unlimited Wi-Fi x




Prepaid


Usage Cost (Php) P10 /30 mins P5 /15 mins x
Modem Kit P2,500 P2,500 x
Max speed (bps) 2m 3G 384k, hsdpa 1.8m x
Free 5 hrs 1.5 hrs x

Delphi 2009 ??? !!!

Just when I thought Delphi was already obsolete and died, here comes Delphi 2009 with a lot of excellent reviews.

Borland Delphi may have died, CodeGear Delphi 2009 looks like a hit with a by line "The fastest way to build NATIVE Windows applications".

I'll watch retro Santa's videos first then download the trial. Let's see...

Tuesday, November 4, 2008

Solved Problem: SQL Error on Triggers with sub-triggers or sub-queries...

Trigger SQL Statement:
CREATE TRIGGER [dbo].[tr_batch_delete] ON [dbo].[tr_batch]
FOR DELETE
AS
BEGIN
DELETE FROM tr_month WHERE tr_year = (SELECT tr_year FROM Deleted) AND tr_month = (SELECT tr_month FROM Deleted) AND code_country = (SELECT code_country FROM Deleted)
DELETE FROM tr_factor WHERE tr_year = (SELECT tr_year FROM Deleted) AND tr_month = (SELECT tr_month FROM Deleted) AND code_country = (SELECT code_country FROM Deleted)
DELETE FROM tr_adjust WHERE tr_year = (SELECT tr_year FROM Deleted) AND tr_month = (SELECT tr_month FROM Deleted) AND code_country = (SELECT code_country FROM Deleted)
END;

Error:
Server: Msg 512, Level 16, State 1, Procedure tr_batch_delete, Line 5
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.

Solution:
Replace = with IN

Solved Problem: ODBC Error: "Connection is busy with results for another hstmt"

This error has bugged me for a while using Microsoft SQL with Delphi through an ODBC connection. OBDC can only have one active cursor at a time. By default, odbc only retrieves the first 20 records for a query. This error occurs if a query contains more than 20 records which are usually retrieved on demand. This is fine until a second query is executed using same connection/session, the error then pops-out.

I searched and bumped with MARS (Multiple Active Record Sets) articles and solutions but I found an easier one.

Solution:
Set the odbc rowset size to a larger number. If you set it to 200, then the first 200 records will be returned. If you set it to -1 then ALL records will be returned. This is not a good practice and performance will suffer if a query result set is large.

To set the rowset size with the BDE, do the following:

1. Click on your TDatabase component
2. In the object inspector, expand Params
3. Put in a Key of "ROWSET SIZE"
4. Put in the desired value

Changing the rowset size should work with other odbc connection components as well.

Thanks to Sean's post.

Wednesday, October 29, 2008