2009年11月17日 星期二
C# 的 Decimal 小數點很麻煩...
2009年11月9日 星期一
Postgresql Changing a Column's Data Type
Changing a Column's Data Type
To convert a column to a different data type, use a command like:
ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2);
This will succeed only if each existing entry in the column can be converted to the new type by an implicit cast. If a more complex conversion is needed, you can add a USING clause that specifies how to compute the new values from the old.
PostgreSQL will attempt to convert the column's default value (if any) to the new type, as well as any constraints that involve the column. But these conversions might fail, or might produce surprising results. It's often best to drop any constraints on the column before altering its type, and then add back suitably modified constraints afterwards.
2009年9月16日 星期三
.NET 如何加密一字串,只讓執行加密的電腦才能解密。
public static string Protected(string password)
{
if (string.IsNullOrEmpty(password)) return string.Empty;
byte[] plain = Encoding.UTF8.GetBytes(password);
string key = "key";
byte[] cipher = ProtectedData.Protect(plain,
Encoding.UTF8.GetBytes(key),
DataProtectionScope.CurrentUser);
return Convert.ToBase64String(cipher);
}
public static string UnProtected(string base64String)
{
if (string.IsNullOrEmpty(base64String)) return string.Empty;
string key = "key";
byte[] cipher = Convert.FromBase64String(base64String);
byte[] plain = ProtectedData.Unprotect(cipher,
Encoding.UTF8.GetBytes(key),
DataProtectionScope.CurrentUser);
return Encoding.UTF8.GetString(plain);
}
2009年9月10日 星期四
在 Windows 7 上安裝 BootCamp 2.1 (x64) 的方法
2009年9月4日 星期五
讀取 Postgresql 資料 Schema 方法
2009年9月3日 星期四
重設 Postgresql 的 Sequence 方法
2009年9月1日 星期二
使用 Sandcastle Help File Builder 製作 VS.NET 的 HELP 文件
2009年8月11日 星期二
在 Postgresql 上為已有資料的資料表增加自動編號欄位方法
這個例子是 student 資料表,此資料表是已存在的,而且裡面有成千上萬的資料了…
第一步:新增欄位,但是 SET NOT Null 先不要設。
ALTER TABLE student ADD COLUMN id integer;
ALTER TABLE student ALTER COLUMN id SET STORAGE PLAIN;
ALTER TABLE student ALTER COLUMN id SET DEFAULT nextval('student_id_seq'::regclass);
第二步:為已存在的資料填上自動編號。
UPDATE student set id=nextval('student_id_seq'::regclass);
第三步:執行下列 SET NOT Null 的指令:
ALTER TABLE student ALTER COLUMN id SET NOT NULL;
基本上就是:
1.建立 student_id_seq Sequence,指令我就不寫了,Google 就查的到。
2.新增準備當自動編號的欄位,預設值當然就是剛剛建立的 Sequence。
3.更新自動編號欄,使已存在的資料填上「自動編號」。
4.將自動編號欄設成 Not Null(這一步是選擇性的)。
2009年8月1日 星期六
在 Mac 上安裝實體 Windows 系統的感覺...
2009年4月10日 星期五
Microsoft 實在太人道了
tfpt destroywi /server:TFS主機名稱 /workitemid:工作項目編號
關於 TFS 授權
基本上 TFS 需要 Server 授權與 Client(CAL) 授權,如果有下列產品的話基本上就有了 Client 授權(但沒有 Server 授權)。
- Visual Studio 2008 Team Suite
- Visual Studio 2008 Team Edition For Software Architects
- Visual Studio 2008 Team Edition For Software Developers
- Visual Studio 2008 Team Edition For Software Testers
- Visual Studio 2008 Team Edition For Database Professionals
如果不是上述版本就沒有 CAL,例如第三方的 Teamprise 產品,意思是就算有 TFS Server 也不能用,要另外買 CAL 才能連。
特別說明買 MSDN 教育版的 Team Edition for xxxxx 版本只有五人授權,想要超過五人的,就必需另外買正式版的的 TFS Server 授權。(MSDN 內附五人版的 TFS Server)