星期四, 3月 27, 2008

[DATABASE] ADO OpenSchema Method


利用 ADO 來抓出資料庫內的資料表、View 可以利用 ADO裡的 Connection物件內的 OpenSchema 方法(Method) 來達到這個目的。


Connection.OpenSchema(querytype, Criteria, SchemaID )


querytype:
20 -> all tables and views
4 -> all columns


比較值得注意的是 Criteria, 它是一個陣列,依照 querytype來傳入值。



QueryType Criteria
=============================
adSchemaTables TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
TABLE_TYPE


QueryType Criteria
===============================
adSchemaColumns TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME


QueryType Criteria
================================
adSchemaIndexes TABLE_CATALOG
TABLE_SCHEMA
INDEX_NAME
TYPE
TABLE_NAME



以下以 ASP 來做範例:


Set conn = Server.CreateObject("ADODB.Connection")


' 只取出 資料表名稱, 若不傳參數,就用 empty
Set Rs = Conn.OpenSchema(20, array(empty, empty, empty,"table") ))


[網管] 華碩也出小電腦囉 - Nova lite


從「癮科技」電子報看到這個報導,不知有沒有比 Acer 那台 L410好一點!!


以下為截錄內容------------------------------------------------------------


而NOVA Lite也是屬於輕薄短小型的桌機。



NOVA Lite PX20特色如下:
1、輕鬆擁有、輕擁使用(這......,雖然筆者喜愛這東東,但這特點怪怪的)
2、重量1.5公斤
3、散熱能力強,很安靜
4、三年保固,到府收送
5、含螢幕不到兩萬,不含螢幕不到一萬五。(TIEBOB註:如果和 ACER L410 中信局的價格相比的話,倒是便宜多了)
6、4個USB埠、DVI、內建喇叭。
------------------------------------------------------------




Technorati :

[Database] ADO Data Types與數據庫值對應


嘿!有這個對應表的話,用程式來建立資料表就方便多了。


由於用 asp + oldeb for foxpro,所以要參考 Oledb 的部分。


ADO Data Types與數據庫值對應 http://www.zaoxue.com/article/tech-48473.htm








































































































































DataType EnumValueAccessSQLServer
adBigInt20
BigInt (SQL Server 2000 +)
adBinary128
Binary
TimeStamp
adBoolean11YesNoBit
adChar129
Char
adCurrency6CurrencyMoney
SmallMoney
adDate7DateDateTime
adDBTimeStamp135DateTime (Access 97 (ODBC))DateTime
SmallDateTime
adDecimal14

adDouble5DoubleFloat
adGUID72ReplicationID (Access 97 (OLEDB)), (Access 2000 (OLEDB))UniqueIdentifier (SQL Server 7.0 +)
adIDispatch9

adInteger3AutoNumber
Integer
Long
Identity (SQL Server 6.5)
Int
adLongVarBinary205OLEObjectImage
adLongVarChar201Memo (Access 97)
Hyperlink (Access 97)
Text
adLongVarWChar203Memo (Access 2000 (OLEDB))
Hyperlink (Access 2000 (OLEDB))
NText (SQL Server 7.0 +)
adNumeric131Decimal (Access 2000 (OLEDB))Decimal
Numeric
adSingle4SingleReal
adSmallInt2IntegerSmallInt
adUnsignedTinyInt17ByteTinyInt
adVarBinary204ReplicationID (Access 97)VarBinary
adVarChar200Text (Access 97)VarChar
adVarWChar202Text (Access 2000 (OLEDB))NVarChar (SQL Server 7.0 +)

[DATABASE] 各種資料庫的欄位型態


下列的參考資料十分不錯,列出大部分用到的資料庫欄位型態,寫程式時還蠻有用的!


Databases - Field Types http://mc-computing.com/Databases/FieldTypes.html


ex:




Foxpro














































































TypeSizeDescription
Character1 to 254
Currency8 bytes18 significant figures, including 4 decimal places
Not available in Database Explorer
Date8 bytesJanuary 1st, 1 A.D to December 31st, 9999 A.D
DateTime8 bytes
Logical1 byte
Variant
Can hold any type of field
Double8 bytes+/-4.94065645841247E-324 to +/-8.9884656743115E307
13 significant figures
This range does not make sense
Numeric1 to 20 bytes- .9999999999E+19 to .9999999999E+20
up to 10 significant figures (specified by the user), same as Float
Float1 to 20 bytes- .9999999999E+19 to .9999999999E+20
up to 10 significant figures (specified by the user), same as Numeric
Integer4 bytes-2,147,483,647 to 2,147,483,647
Integer (Autoinc)4 bytesAutoincrement field
General4 bytes in tableReference to an OLE object
The type is OLE in Database Explorer
Memo4 bytes in tableValues may be modified depending on the language mapping
Database Explorer indicates that these are actually 10 bytes each
Memo (Binary)4 bytes in tableValues are not modified When the code page changes

星期三, 3月 26, 2008

[ADO] Foxpro


建立資料表(TABLE)
EX: Create Table test( id char(10), bookname character(100), number int)


刪除資料表
EX: DROP TABLE test


新增記錄
EX1: INSERT INTO test VALUES ('111', 'Life is Sad', 100)
EX2: INSERT INTO test (id, bookname, number) VALUES ('111', 'Life is Sad', 100)



  • foxpro 8.0 以後可以用 autoinc 型態來設定自動編號

  • oledb for vfp 支援 autoinc 語法,
    ex: Create Table test( id int primary key autoinc, bookname character(100), number int)

  • oledb for vfp 不支援 " CREATE DATABASE" 的語法


星期四, 3月 20, 2008

轉貼 - REMBO 與 GHOST 之比較


Rembo 和 ghost 都是管理電腦教室的好幫手,兩者的管理方式其實有很大的差異,若是個人的話,比較偏愛用 Rembo 這種方式,不過,前提是網路和主機不能出問題啊!!


以下是台中縣吳仁智老師對兩者的比較:http://www.cses.tcc.edu.tw/~chihwu/rembo.htm


星期一, 3月 17, 2008

[HTML/CSS] 避免誤用不佳的 HTML標籤


開宗明義就講了,儘量用 CSS 來取代常用的HTML。
請詳讀 http://webdesign.about.com/od/css/a/aa101706.htm


How to Avoid Deprecated HTML


Use CSS Instead



When you're trying to write valid XHTML, you need to avoid the elements that have been deprecated. Using them will result in Web pages that may not work in a future version. This is because while the tag is still part of the XHTML specification, it may not be included in the future. And if it's not included, browsers won't support it.


Many deprecated XHTML elements were deprecated in favor of CSS style sheets. And it can be very easy to use CSS instead of many of these elements.


-------------------------------------------以下省略

星期五, 3月 14, 2008

[程式設計] 在文字方塊按下 Enter 後做動作


原本利用 Submit 按鈕時都沒有問題,不過,因為在表單送出前要先做檢查,所以把 submit 改成 button,這一來在文字方塊按 【Enter】就沒有作用了。


解決之道是利用 onKeyDown 這個事件來捕捉 【Enter】的 KeyCode,作法如下:
------------------------------------------------------------------------------------------
<script language=javascript>
function EnterToTab(){
if(event.keyCode==13)
event.keyCode=9;
}

</
script>
------------------------------------------------------------------------------------------
在文字方塊中加入 onkeydown="EnterToTab();" 的屬性,這樣一來就可以了。


不過,這時又會出現新的問題,在 firefox 無法捕捉到 Enter 的 KeyCode,原來兩者的捕捉 KeyCode 的屬性不一樣,完整解決方式如下:


------------------------------------------------------------------------------------------
function EnterToSubmit(e){

var keynum;
if(window.event) { // IE
keynum = e.keyCode;
}else if(e.which) { // Netscape/Firefox/Opera
keynum = e.which;
}
if(keynum == 13){
document.forms["formName"].submit();
}


}
------------------------------------------------------------------------------------------
onKeyDown="EnterToSubmit(event);"


FTP 主動式與被動式


雖然是英文,不過還是很值得花點時間好好看看!



Active FTP vs. Passive FTP, a Definitive Explanation

星期五, 3月 07, 2008

[資料庫] MySQL預設編碼

之前在 my.ini 內設定mysql 的預設編碼都是用下列的設定式:
================================
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci

================================

這幾天看酷學園的討論,才偶然看到,原來 mysql 早已建議用另一種設定式了,把它記下來才不會忘記。
================================
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
================================

ps: [mysql] 的部分還是維持原來的設定式
default-character-set = utf8

星期三, 3月 05, 2008

GVIM 真的很不錯!

平常用 vi 用習慣了,突然想試試 gvim,結果一打開,卻發現整個視窗太小,字型也太小。
不過,還好可以從[編輯->設定字型] 來修改,不過,問題又來了,gvim 關閉後,剛剛設定的字型大小也恢復原狀。

還好,在爬文時找到 &lt;&lt;lancetw&gt;&gt;我的 gvim 設定檔 把裡頭的設定照做存到 ~/.vimrc,嗯!有變化,不過,字型還是太小,就修改了下列兩行設定,改成自己比較習慣的字型與大小:
----------------------------------------------
set gfn=DejaVu\ Sans\ Mono\ 16
set gfw=AR\ PL\ ShanHeiSun\ Uni\ 14
----------------------------------------------

果然順眼許多!

星期日, 3月 02, 2008

[Ubuntu]在 AMD64的平台上裝 firefox 32bit

AMD64/FirefoxAndPlugins

目前小弟的電腦有兩個Ubuntu平台,一個是 amd64, 一個則是安裝 i386,目前程式(一般軟體:browser, office, filezilla)在效能上還看不出太大的差別,但是在安裝軟體上倒是amd64版本令人處挫折許多,如果直接從套件庫來安裝,大都沒有問題,但是,有些套件庫沒有收錄的軟體很多只提供 i386的版本,實在讓人的爽度大大降低不少。

例如:google toolbar(linux)在 amd64上就無法執行(官網說不支援),所以囉!如果真想在 Ubuntu(AMD64)上安裝這一類的套件,就可以安裝 firefox 32bit 的版本啦!

不過,看裡頭的操作,似乎是用手動,而不是從套件庫來安裝,如果讓我選的話,我還是會乖乖用 64bit 的版本啦!畢竟這樣比較容易維護,不然那一天,突然出現問題的話,就不曉得要從哪邊來找問題了啦!

此篇僅做記錄用 :&gt;&gt;&gt;

[Ubuntu]firefox 2.0終於又回來了

Ubuntu 8.04 自從alpha4後,就強制將 firefox 升級至 firefox 3 beta,很多好用的套件在 3beta 根本就無法執行,想要回頭用 firefox 2.0,卻發現套件庫中找不到~~~~~

真是令人沮喪啊!

好在今天在檢視套件庫時,又意外發現 firefox 2.0.0.12,啊!真是欣喜若狂啊!

趕緊將它裝了起來,嘿!嘿!果然又回到熟悉的 firefox2囉!

實在感恩!!!

[Windows] Link of Folder or File doesn't work~~~~

微軟的 hotfix,記錄下來以備不時之需~~~~~~
-----------------------------------------------------------------------------------------------------

當您在 [ 開啟 ] 對話方塊或, [ 儲存 ] 對話方塊中選取捷徑 . lnk 檔案, 而不是由捷徑中有路徑所參考檔案或資料夾會傳回實際的
. lnk 檔案。 指定篩選條件字串時, 就不會發生這個問題。 在這種情況下, 檔案或資料夾所參考會傳回如預期般以及文件中所描述。

Hotfix 資訊

目前 Microsoft 已提供支援的 Hotfix,. 不過, 這個 Hotfix 目的為只能在本篇文章所描述問題修正。 此 Hotfix只適用於, 會發生此特定問題系統。 此 Hotfix 可能會收到其他測試。 因此, 如果並未對您造成嚴重的影響受此問題,我們建議您等候下一個包含此 Hotfix 的 Service Pack。

如果要解決這個問題, 提交要求向 Microsoft 線上客戶服務, 以取得 Hotfix。 如果要提交線上要求, 以取得此 Hotfix, 請造訪下列 Microsoft 網站:http://go.microsoft.com/?linkid=6294451
-----------------------------------------------------------------------------------------------------


星期六, 3月 01, 2008

[Windows] Link of Folder or File doesn't work~~~~

當您在 [ 開啟 ] 對話方塊或, [ 儲存 ] 對話方塊中選取捷徑 . lnk 檔案, 而不是由捷徑中有路徑所參考檔案或資料夾會傳回實際的
. lnk 檔案。 指定篩選條件字串時, 就不會發生這個問題。 在這種情況下, 檔案或資料夾所參考會傳回如預期般以及文件中所描述。

Hotfix 資訊


前 Microsoft 已提供支援的 Hotfix,. 不過, 這個 Hotfix 目的為只能在本篇文章所描述問題修正。 此 Hotfix
只適用於, 會發生此特定問題系統。 此 Hotfix 可能會收到其他測試。 因此, 如果並未對您造成嚴重的影響受此問題,
我們建議您等候下一個包含此 Hotfix 的 Service Pack。

如果要解決這個問題, 提交要求向 Microsoft 線上客戶服務, 以取得 Hotfix。 如果要提交線上要求, 以取得此 Hotfix, 請造訪下列 Microsoft 網站:http://go.microsoft.com/?linkid=6294451

[Ubntu]更新 openoffice.org-hyphenation-en-us_2.3.1-1_all.deb 失敗

目前Ubuntu 是Alpha版本,今天更新後,出現一個錯誤訊息:

dpkg:處理 /var/cache/apt/archives/openoffice.org-hyphenation-en-us_2.3.1-1_all.deb (--unpack)時出錯:
正試圖覆蓋“/usr/share/myspell/dicts/hyph_en_US.dic”,它屬於套件 openoffice.org-hyphenation
在處理時有錯誤發生:
/var/cache/apt/archives/openoffice.org-hyphenation-en-us_2.3.1-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)


有 UbuntuForum 有人提出解決辦法:

wget http://debian.mirror.inra.fr/debian/pool/main/h/hyphen/openoffice.org-hyphenation-en-us_2.3-5_all.deb
sudo dpkg --force-all -i openoffice.org-hyphenation-en-us_2.3-5_all.deb

照著做就不會一直出現上述的問題了!