2011年7月21日 星期四

ORA-00257 archiver error. Connect internal only, until freed.

前天半夜,大夜的值班同事被call,原因是系統無法登入。於是他用PL/SQL Developer登入資料庫主機,出現了ORA-00257 錯誤 (archiver error. Connect internal only, until freed.) ,由於現在網路資源相當發達,記住ORA Error Code 在網路上爬文,大概有一個初步的方向,值班同事發現是資料庫的問題,當然就只好call專業的DBA處理了!
翌日,主管也找了幾位組長和DBA共同討論並分析此次問題發生原因。

2011年7月20日 星期三

ASCII碼



ASCII轉換器

輸入字母:


ASCII 十進位
ASCII 十六進位
ASCII 二進位

寫程式常會用到ASCII碼轉換…腦容量記不下那麼多... XD
所以在網路上爬文後整理如下表~

2011年7月19日 星期二

Oracle/PLSQL: Instr Function

instr(S, SubStr [, Index [, MatchSeq] ])  => [ ] 可省略


instr(原始字串, 目標字串, 起始位置, 匹配序號) 


2011年7月12日 星期二

Oracle/PLSQL: Primary Keys

Oracle/PLSQL: Primary Keys

Primary Key 是由單一欄位或組合欄位組成,用來定義唯一的一筆記錄
Priamry Key 可以包含空值(null),但一個表只能有一個Primary Key

2011年7月10日 星期日

ORA-00911:字元無效

連續執行insert語句報錯,在plsql可正常運行,但寫入Delphi程序中就報錯,
General SQL error. ORA-00911:字元無效。
Debug了許久,始終找不到問題,終於透過 google 大師找到解答。
via  http://www.lslnet.com/linux/f/docs1/i46/big5320278.htm

如何找出 Windows 特殊資料夾位置,例如取desktop路徑

uses
  shlobj;

查詢資料庫中有哪些 table or view

--查詢資料庫中有哪些 table or view
select * from DataBaseName.INFORMATION_SCHEMA.[TABLES]

drop and create sequence from a stored procedure

因應跨年度,收據編號要歸0問題,須重建 sequence。

Focus焦點移轉,以顏色區分目前Focus之元件

設計視窗化介面的應用程式,提供friendly的介面才能獲得好評。
Focus焦點移轉,以顏色區分目前Focus之元件… 這句話乍看之下很難理解,實作了就知道了啦!

2011年7月8日 星期五

ListView 實現多列複選後複且複選框一併勾選

//ListView1 Property
Checkboxes := True;
HideSelection := True;
MutiSelect := True;
RowSelect := True;

限制 TDateTimePicker 不可小於某日期

處理日期區間時,使用兩個 TDateTimePicker 元件做開始日期與結束日期的輸入,若未做額外處理則使用者可能會輸入成「開始日期大於結束日期」的不合理狀況而造成資料錯誤。

時間加減函式

[Delphi 5]
d1, d2: TDateTime;
d1 := d2 + EncodeDate(1, 0, 0); // 加一年
d1 := d2 + EncodeDate(0, 1, 0); // 加一個月
d1 := d2 + EncodeDate(0, 0, 1); // 加一天
d1 := d2 + EncodeTime(1, 0, 0, 0); // 加一小時,最大到23小時
d1 := d2 + EncodeTime(0, 1, 0, 0); // 時間加一分鐘
d1 := d2 + EncodeTime(0, 0, 1, 0); // 時間加一秒
d1 := d2 + EncodeTime(0, 0, 0, 1); // 時間加一毫秒,加1000次才等於一秒

避免Delphi的TDateTimePicker的onChange事件會執行二次

某次在Debug程式時,發現每次選取日期時,都會出現N次一模一樣的訊息提示,TRACE 程式發現原來TDateTimePicker的onChange事件會被觸發兩次...