2009年6月24日 星期三

App.config 按右鍵找不到 Edit WCF Configuration

參考 http://dotnetframework.blogspot.com/2008/01/creating-wcf-service-how-to-create.html這篇文章學習WCF時,其中有一個部分是需要新增一App.config。

作者說在app.config上按右鍵,選擇Edit WCF Configuration,結果我按右鍵找不到 Edit WCF Configuration的選項。之後再上方"工具"->"WCF Service Configuration Editor" 按下之後會出現WCF Configuration編輯視窗,此時再到App.config上按右鍵就會出現Edit WCF Configuration的選項。

2009年6月10日 星期三

提升SQLite刪除速度

先前在SQLite下使用BeginTransaction,作INSERT的動作的確有效提升速度。今日使用DELETE時,刪除30筆記錄居然花費到4秒鐘的時間,結果處理的方式是在資料庫連線字串加入Synchronous=OFF。如下:
string strConnection = @"Data source=C:\Datebase.db;Synchronous=OFF;";
SQLiteConnection myConnection = new SQLiteConnection(strConnection);

結果速度馬上由4000ms 提升到 1ms,這真是太~神奇了傑克

2009年5月22日 星期五

將某日期欄位與數值欄位相加後做條件判斷

假設有某一資料表為Schedule裡面有三個欄位分別為
AdName(廣告名稱),ShowDate(播放日期)和ShowDays(播放天數),內容如下

AdName

ShowDate

ShowDays

廣告A

2009-05-10 00:00:00

10

廣告B

2009-05-15 00:00:00

5

廣告C

2009-05-20 00:00:00

3


所以
廣告A 的期限到2009-05-20 00:00:00
廣告B 的期限到2009-05-20 00:00:00
廣告C 的期限到2009-05-23 00:00:00

假設我們要找尋2009-05-19還在播放的廣告就可以使用以下語法

SELECT * FROM Schedule
WHERE DATE_ADD(ShowDate,INTERVAL ShowDays DAY ) > DATE('2009-05-27 00:00:00')
AND DATE(ShowDate) <= DATE('2009-05-27 00:00:00')

2009年5月21日 星期四

在做資料SELECT時,順便將特定值轉換成要顯示的文字

有時候我們會將某些欄位以數字的資料形態來儲存
假設有一Table(Student)含有三個欄位1. Number(long) 2.Name(varchar) 3.Sex(bool)
內容如下:
Number  Name Sex
9701001 Jim  1
9701002 Jack  1
9701003 May  0

我們希望Select出來的DataTable如下:
Number  Name Sex
9701001 Jim  男
9701002 Jack 
9701003 May  

這時可以利用以下的語法來解決
SELECT Number,Name,CASE Sex WHEN '0' THEN '女' WHEN'1' THEN '男' END AS Sex FROM Student

2009年4月20日 星期一

解決TestLink時間錯誤

編輯PHP安裝路徑下的 php.ini,找 date.timezone 的地方,修改成 date.timezone = Asia/Taipei
(記得將前面的分號去掉)後儲存,然後從新啟動 apache 即可。

2009年4月12日 星期日

PICT 的使用方法

PICT必須在命令列底下執行
首先必須建立ModelFile檔案,然後將我們要生成測試用例的條件寫在裡面

先在c:底下建立一個文字檔(ex. test.txt)
編輯 test.txt 建立內容如下:

姓名:無,有
性別:無,女,男
生日:無,有

然後存檔
在command line底下輸入如下:
C:\>pict test.txt

就會出現

姓名 性別 生日
有 女 有
無 無 無
有 男 無
有 無 有
無 女 無
無 男 有

ps.在PICT的安裝目錄下有一說明文檔 PICTHelp.htm
ModelFile的詳細格式可參考說明文檔

2009年4月11日 星期六

安裝TestLink時發生錯誤的處理

本次使用的版本
MySQL : 5.1.30
Apache : 2.2.11
PHP : 5.2.9-2
TestLink : 1.7.5

首先安裝MySQL 時,一切都很順利,接下來安裝 Apache時也很ok,再來安裝 PHP時發生 GetObject的錯誤,不過先不理他繼續裝完。
接下來要重新啟動Apache的時候發生問題,無法啟動伺服器。到 Apache 安裝目錄下的 conf 目錄,然後開啟 httpd.conf 檔。找到下面的地方
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
ScriptAlias /php/ "D:/app/PHP/"
Action application/x-httpd-php "D:/app/PHP/php-cgi.exe"
PHPIniDir "D:/app/PHP/"
LoadModule php5_module "D:/app/PHP/php5apache2_2.dll"
PHPIniDir "D:/app/PHP/"
LoadModule php5_module "D:/app/PHP/php5apache2.dll"
PHPIniDir "D:/app/PHP/"
LoadModule php5_module "D:/app/PHP/php5apache.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
將他們改成
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
ScriptAlias /php/ "D:/app/PHP/"
Action application/x-httpd-php "D:/app/PHP/php-cgi.exe"
PHPIniDir "D:/app/PHP/"
LoadModule php5_module "D:/app/PHP/php5apache2_2.dll"
#PHPIniDir "D:/app/PHP/"
#LoadModule php5_module "D:/app/PHP/php5apache2.dll"
#PHPIniDir "D:/app/PHP/"
#LoadModule php5_module "D:/app/PHP/php5apache.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
存檔後,Apache就可以正常啟動了
將testlink放到 apache 上也很順利的開啟 testlink的安裝頁面了
繼續進行到 testlink 安裝條款確認的時候,又發生 httpd.exe 記憶體不能為read的錯誤
把PHP安裝路徑下的 libmysql.dll複製到 windows\system32 ,然後從新啟動 apache,再次執行testlink的安裝就順利完成了