2008/03/28

攻城器具的用法


攻城器具如果要大量拆除別人家的話,要分成多波派出。才能達到大量拆除的效果。


以下是錯誤試範:

因為多台在同一次攻擊,所以只會損壞一樣建築。

2008/03/27

SQL Server的Identity欄位使用、查詢、重設

資料庫中,Identity欄位的常用方法及相關技術:

查詢目前 Identity值:

有時我們需要查詢目前 table 中該 identity 欄位最大值是多少時,可以利用 dbcc 指令,如下:
dbcc checkident('product', NORESEED)
可以獲得目前最大值的結果。


重設目前最大 identity 值:

一樣利用 dbcc 指令,如下:
dbcc checkident('product', RESEED, 100)
如此一來, 便能將目前的最大 identity 值指向100,當然若故意設比目前最大值小時,系統仍會接受,
但若 identity 遇上重覆資料時(如將 identity 設為 primary key時),將會發生重大問題,
該 table 變成無法 insert 資料,因為會發生 primary key violation,
解決方法當然就是將目前的 identity 修復,直接使用dbcc checkident('product', RESEED)
或 dbcc checkident('product')(兩者等義)即可順利修復。


identity 欄位遇上 rollback 時:

當 identity 欄位碰到 rollback 時,會發生跳號現象, 也就是說在 transaction 中,
insert 了一筆資料, 但又 rollback 時,該 identity 號會消失,如下測試:
begin tran
insert into products (product) values ('test rollback')
rollback tran
dbcc checkident('product', NORESEED)
這個觀念很重要,因為要維持 identity 特性,但又發生 rollback,
所以系統就直接跳號處理,避免發生重覆編號的問題。

2008/03/26

ComboBox 選項迭代

for each(var item:Object in combo.dataProvider) {
trace("label : " + item.label);
trace("data: " + item.data);
}

2008/03/25

自動 import 類別

當引用了一個尚未 import 的類別時,Eclipse 應該會在錯誤的程式碼最左側出現 x 按鈕,點下去就會出現 import 類別的選項,但是在 Flex Builder 中沒有這項功能。

解決的辦法是使用程式碼自動完成功能,Flex Builder 就會自動 import 所需的類別了。

元件的 mouseDown 和 mouseClick 衝突

當 mouseDown 指定了處理事件的方法後,再去指定 mouseClick 事件的處理方法時,mouseClick 不會觸發。