參考 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,這真是太~神奇了傑克
string strConnection = @"Data source=C:\Datebase.db;Synchronous=OFF;";
SQLiteConnection myConnection = new SQLiteConnection(strConnection);
結果速度馬上由4000ms 提升到 1ms,這真是太~神奇了傑克
2009年5月22日 星期五
將某日期欄位與數值欄位相加後做條件判斷
假設有某一資料表為Schedule裡面有三個欄位分別為
AdName(廣告名稱),ShowDate(播放日期)和ShowDays(播放天數),內容如下
所以
廣告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')
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
假設有一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日 星期一
2009年4月12日 星期日
PICT 的使用方法
PICT必須在命令列底下執行
首先必須建立ModelFile檔案,然後將我們要生成測試用例的條件寫在裡面
先在c:底下建立一個文字檔(ex. test.txt)
編輯 test.txt 建立內容如下:
姓名:無,有
性別:無,女,男
生日:無,有
然後存檔
在command line底下輸入如下:
C:\>pict test.txt
就會出現
姓名 性別 生日
有 女 有
無 無 無
有 男 無
有 無 有
無 女 無
無 男 有
ps.在PICT的安裝目錄下有一說明文檔 PICTHelp.htm
ModelFile的詳細格式可參考說明文檔
首先必須建立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的安裝就順利完成了
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的安裝就順利完成了
訂閱:
文章 (Atom)