2007-11-20

C#中??的用法

改用c# 2.0也一年多了,
最近才發現??的用法.

??這個operator的用法如下

string message = null;
string result = message ?? "message is null";
Console.WriteLine(result); //列印出 message is null

 

string message = "I am not null";
string result = message ?? "message is null";
Console.WriteLine(result); // 列印出 I am not null

另外,在數值方面,

int x = null;

這樣是會產生編譯錯誤(Cannot convert null to 'int' because it is a non-nullable value type).
所以如果你就是要宣告一個int而可以是個null的內容的話,
那就是用

int? x = null;

再搭配??的用法如下

int? x = null;
int y = x ?? -1;
Console.WriteLine(y.ToString()); //列印出 -1

2007-11-02

mysql的問題...

不常寫php+mysql的案子,
但最近接了一個簡單的案子,
大致上之前也寫過類似的,
所以想說應該是沒有甚麼問題.
但是寫完後,要佈到客戶那才發現問題一堆.

1.CURRENT_TIMESTAMP無法使用.

因為想要有個欄位自動記錄資料新增的時間,
但mysql 4似乎沒有這個型態.
所以只好改為DateTime,再新增的時候再寫now()取得時間.

2.mysql密碼問題

這個之前在架mambo的時候有遇過,所以還ok.
只要用下面的語法改一下密碼就ok了.
set password for '帳號'@'主機' = old_password('新的密碼');

3.adddate的問題

原本是用adddate(Current_Date(),5)取得五天後的時間點,
但是丟到客戶卻一直出現問題.
後來才發現客戶是用mysql 4.0.13
而我是抓mysql 4.1.22
而4.1.22是可以接受這樣的語法,
但是4.0.13則要使用下列的語法,
adddate(Current_date(),interval 5 day)

看來 php 跟 mysql 還有一堆東西要學...

2007-11-01

infopath的專案中,使用設定檔

因為專案的需求,
infopath的專案中需要結合Subsonic,
因為Subsonic需要在config檔中做設定.

但是在debug的時候,
發現infopath的專案中加app.config似乎沒有作用.

後來google了以後才發現,
要改c:\Program files\Microsoft Office\Office12中的infopath.exe.config才行,
但是這個檔案預設是沒有的,
所以要自己建...

在Hyper-V上跑ubuntu 22.04 Desktop, 裝完後一登入就凍住

如果你也遇到這情況, 你可以執行以下步驟 按 Ctrl+Alt+F3 進入 virtual console. (按Ctrl+Alt+F1 可以再回到GUI) 登入後執行下面指令 (更新kernel) * sudo add-apt-repository ppa:capp...