假設birth是會員生日
members是會員資料表
字串1/1及1/15是指定日期,可以是日期型態可以是符合日期規範的字串型態






SELECT * FROM [members] WHERE CDBL(CDATE(MONTH([birth]) & "/" & DAY([birth]))) >= CDBL(CDATE(MONTH("1/1") & "/" & DAY("1/1"))) AND CDBL(CDATE(MONTH([birth]) & "/" & DAY([birth]))) <= CDBL(CDATE(MONTH("1/15") & "/" & DAY("1/15")));

gan068 發表在 痞客邦 留言(0) 人氣()

Microsoft Update 0x80246008 更新失敗的問題





我只做了 regsvr32 initpki.dll



就可以更新了,否則全都卡在準備安裝更新那裡



我還以為是key錯誤,結果也不是...有碰到這個奇怪情況的人



可以試試看...



P.S.好好的也沒去動PKI機制的DLL,怎麼就壞了...而且解答在微軟還真的找不到...---.---



以下為轉貼



原文網址為:http://aprilnotebook.blogspot.com/2005/10/microsoft-update-0x80246008_21.html



Microsoft Update 0x80246008 更新失敗的問題




 

我的電腦(XP sp2)連上 Microsoft Update ( windows update ) 選擇要更新, 原本電腦隨後會自動下載剛勾選的更新項目,卻跟當機一樣一動也不動,很久以後回應說更新不成功,[檢視更新記錄]看到紅色的叉叉,click進去看看。








*****************
安裝失敗
錯誤代碼: 0x80246008
*****************



微軟中文網站SEARCH不到答案,微軟英文網站SEARCH到一筆資料,請注意只有一筆:



You receive a "The necessary services are disabled or unavailable" error message when you connect to the Microsoft Windows Update Web site or to the Microsoft Update Web site ( pls goto : http://support.microsoft.com/default.aspx?scid=kb;en-us;883822 )



按照指示做了以下兩個動作:



*****************
regsvr32 qmgr.dll
regsvr32 qmgrprxy.dll
*****************



電腦重新機以後問題還是一樣,去google找找吧!!



用 0x80246008 當 SEARCH條件,找到
http://backup.idv.tw/phpBB2/viewtopic.php?p=1835&sid=d87d8574118b72846e8d901a86f7cc78



上面說可以手動方式進入regedit 把BITS放到該放的位置
----> 果然還是不行,ㄟ ,上面講 BITS就是服務裡面的後臺智慧傳送服務,此服務沒有啟動就會有問題,可能就像是我碰到的無法更新的問題吧, 但是 [ 後臺智慧傳送服務 ]是啥 ??



控制台裡的系統管理工具的服務,這麼多服務怎麼找?
地毯式搜尋結果發現這個最像BITS : Background Intelligent Transfer Service ,
這項目的後面有說明 : 如果此服務沒啟動的話 windows update 會失敗,而且我的Background Intelligent Transfer Service 現在就是沒有啟動的狀態 ( 答案似乎越來越接近 )



手動啟動Background Intelligent Transfer Service,系統回應必須要先把 RPC 服務啟動以後,才可以啟動BITS,(這時候你才承認你是BITS啊 ? 裝神秘 !!)



RPC 啟動成功後, BITS 手動啟動還是失敗,錯誤訊息 : 2147024894。



去GOOGLE 找 Background Intelligent Transfer Service + 2147024894



找到了 !! Aurelien Botman 寫了非常詳細的如何重新安裝BITS 的說明



******************************************************
http://www.botmanfamily.net/~aurelien/articles/BITS_reinstall.html
******************************************************



上面寫的一些command我看不太懂而且也沒有試成功,只有最後一種方法看得懂,step 5, 來嘗試做看看
在command line 分批執行下列指令 (類似手動註冊底下這些dll)



**********************************
regsvr32 oleaut32.dll
regsvr32 jscript.dll
regsvr32 vbscript.dll
regsvr32 msxml.dll
regsvr32 softpub.dll
regsvr32 wintrust.dll
regsvr32 initpki.dll
regsvr32 cryptdlg.dll
**********************************



當做到 initpki.dll 的時候,反應時間非常久,其他幾個都很快就會回映說 某某dll已經成功的訊息,表示我抓到兇手了。



( 就是妳!! initpki.dll !!! 你哪時候出去逛街不想回來啦?? )



全部dll 都按照上面順序註冊完後,重新開機,手動啟動BITS成功以後, 再連上 windows update 先試一個更新看看,成功了!! oh yes !!



( Aurelien Botman 叮嚀˙要把你的BITS 設定為自動啟動喔 !! )






以後還是不要太相信微軟,原來答案可能不會在他們家,但其實你若有興趣用Background Intelligent Transfer Service 去微軟網站上面找找會獲得更多資訊。
Lots of Thanks to Aurelien Botman.









以上的大部分是轉貼
轉貼自哪,我也不知道,因為是SEARCH到的
而且封閉空間,我是看暫存檔的
如果你是作者
自己留E-MAIL,或是你自己可以開放的網址
要是你還是不滿意
那我砍掉自己重寫就好了





gan068 發表在 痞客邦 留言(0) 人氣()

ASP+ACCESS

MSSQL將RND改為NEWID

範例,隨機選出商品資料前三筆資料

<%Randomizesql="SELECT TOP 3 * FORM `商品資料` ORDER BY RND(-(`商品編號`+" & RND() & ))"%>

gan068 發表在 痞客邦 留言(0) 人氣()



在 url 後面帶上一個隨機的變數:











Action Script:





loadVariablesNum("http://whatever_url/whatever.txt?rnd=random(10000), 0);

gan068 發表在 痞客邦 留言(0) 人氣()



WinXP Pro x86+MySQL 5.0.19+phpMyAdmin 2.8.0.2+Apache2 2.0.55+PHP 5.1.2













前言


此環境應該是目前自己才能架設的因為所有軟體的版本是20060330官方釋出Win32的最新版本,租用虛擬主機以及直接安裝AppServ的人看看就好

 



目標


PHP ASCII編碼檔案即時轉碼為UTF-8瀏覽(為了配合MySQL使用UTF-8編碼存取)

 



原因


為了方便用隨便的編輯器即可撰寫PHP檔案,並且不會有衝碼字許功蓋的問題

 



示範平台


CPU P4 2.4GHZ

 

RAM DDR 1G

 

作業系統WinXP Pro SP2安裝於NTFS格式硬碟

 

作業系統安裝槽擁有3GB以上的未使用空間

 

有線網路使用亞太Cable 2M/256

 

伺服器平台:MySQL 5.0.19+phpMyAdmin 2.8.0.2+Apache2 2.0.55+PHP 4.4.1



伺服器軟體來源取得




MySQL5

 


phpMyAdmin

 


Apache2

 


PHP5

 


注意


基本Windows操作問題請別發問,自行上Google搜尋去

 

本文章所有的埠都是使用預設埠,如果設定與您的不同,請將不同的埠號修改成您自己設定的埠號

 



Apache2環境架設


(白吃安裝法...略),開啟防火牆80埠




MySQL5架設



    
  • 下載install版本,不要下載UnZip版本
  • 
  • 下載完成後解壓縮
  • 
  • 執行Setup.exe
  • 
  • 白痴安裝法, 接用預設值
  • 
  • 當安裝到Please select default character set.,請點選Best Support For Multilingualism
  • 
  • 當安裝到Please set the Windows options,多勾選Include Bin Directory in Windows PATH
  • 
  • 當安裝到Please set the security options,於New root password以及Confirm欄位輸入你自訂的密碼並牢記
  • 


  • 若需要自其他電腦使用本機MySQL,請開啟防火牆3306埠

  • 




PHP5環境架設





下載Zip檔,不要下載install的版本



 



我將Zip檔解開後的存放到C:\php5,php.exe的位置位於C:\php5\php.exe



 



php.ini-recommended複製到安裝windows的資料夾下,以我複製後位置是C:\WINDOWS\php.ini-recommended






php.ini-recommended重新命名為php.ini





修改php.ini


    


  • register_globals = Off


    關閉此設定可以提升效能,但程式相容性低,取得標準變數一定要用完整格式,例如$post['UserPost']一定要使用$_POST['UserPost']
  • 


  • extension_dir = "c:/php5/ext/"


    我解壓縮到C:\,固設定如上 
  • 


  • extension=php_mbstring.dll




    extension=php_mysql.dll


    將前面的;拿掉 
  • 
  • 將php.ini存檔
  • 




複製php5ts.dll



c:\php5\php5ts.dll複製到安裝windows的資料夾之下的system32資料夾下,以我複製後位置是C:\WINDOWS\system32\php5ts.dll


 



修改Apache2的httpd.conf


 



DirectoryIndex index.htm index.html index.html.var index.php index.phtml


尋找並修改 DirectoryIndex(預設文件)

 



LoadModule php5_module "C:/php5/php5apache2.dll"
<IfModule mod_mime.c>
  AddType application/x-httpd-php .php .phtml
  AddType application/x-httpd-php-source .phps
</IfModule>







 

加入到httpd.conf的最後

這樣支援.php以及.phtml檔案,.phps的php原始碼檔案會有彩色語法

將httpd.conf存檔,Apache2 Stop然後Start(用restart常常出問題,乾脆用stop+start),如果出錯誤請把錯誤回應上來


新增一個純文字文件,內容輸入<?php phpinfo();?>存檔,並且重新命名為index.php,放到Apache2的主目錄(預設htdocs)



 



使用瀏覽器瀏覽http://localhost:80/index.php ,看是否有php的環境變數輸出,有一堆紫色的畫面寫php安怎安怎的就是成功了


 



phpMyAdmin安裝


phpmyAdmin解壓縮至Apache2的主目錄下(預設htdocs),我的位置是C:\Apache2\htdocs\phpMyAdmin\

 

新增config資料夾於C:\Apache2\htdocs\phpMyAdmin下,我的位置是C:\Apache2\htdocs\phpMyAdmin\config\

 
 
 

設定config.inc.php



    
  • Servers按下Add按鈕
    
      
    • Authentication type
    • 
    • 選擇cookie 
    • 


    • User for config auth


      將已輸入的值刪除,保持淨空 
    • 


    • phpMyAdmin control user


      輸入最高權限的帳號,預設為root
    • 


    • phpMyAdmin control user password


      輸入最高權限帳號的密碼 (安裝MySQL5時所牢記的密碼)
    • 


    • phpMyAdmin database for advanced features


      輸入phpmyadmin 
    • 
    • 按下Add按鈕
    • 
    
  • 
  • Features按下Charsets按鈕 
      
    
      
    • Allow charset conversion
      勾選此項
    • 


    • Default charset


      選擇utf-8 
    • 


    • Recoding engine

gan068 發表在 痞客邦 留言(0) 人氣()

環境變數設法

1.新增JAVA_HOME
C:\Program Files\Java\jdk1.6.0_01

2.編輯PATH,新增以下
%JAVA_HOME%\bin;

3.新增CLASSPATH
.;%JAVA_HOME%\jre\lib\rt.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\ext\dnsns.jar;%JAVA_HOME%\jre\lib\ext\localedata.jar;%JAVA_HOME%\jre\lib\ext\sunjce_provider.jar;%JAVA_HOME%\jre\lib\ext\sunmscapi.jar;%JAVA_HOME%\jre\lib\ext\sunpkcs11.jar

按確定,結束

執行命令提示字元(cmd)
即可用javac編譯java檔案,用java執行編譯好的class檔

gan068 發表在 痞客邦 留言(0) 人氣()

公館好多有的沒的店,所以每次吃東西除了看人潮有沒有在排隊,還有就是網路上的介紹,



可是看來看去好像都那幾家,所以這次決定採路過隨便採地雷的形式,



決定了這間在東南亞戲院附近的

粗茶淡飯



 



吃飯時間人很多,不過五六日的晚餐都沒有特餐,原本想點的蒸魚只有1~4晚上九點後才有供餐,



最後選了宮保雞丁、海鮮煲飯兩個主餐,附的飲料為有果粒的百香果汁,



附帶一提,粗茶淡飯是

客家口味

的路線,



 





宮保雞丁敗腎路線,口味很重,超下飯,對我來說太辣,還有吃到後來蒜頭有點過多,
值得讚許的是雞丁肉還真多,我吃了兩碗飯,肉還剩一半。

公館粗茶淡飯的宮保雞丁





 



 





海鮮煲飯清淡路線,由於朋友感冒所以我沒有嚐,據說味道還不錯。

公館粗茶淡飯的海鮮煲飯





配菜有三種,分別是菜豆、薑絲木耳、海帶,湯是豬血湯,



平常我是不喜歡吃菜豆的人,因為菜豆沒啥味道又很粗,不過他的菜豆處理的還不錯,薑絲木耳可就是我最愛的酸甜口感啦,跟薑絲大腸的那個醬汁很像!很好吃;海帶軟硬適中,QQ的,豬血湯,嗯...還是鴨血好吃,嫩多了XD!



如果一群人到公館不知道吃什麼,又不想跟人排隊的話,

粗茶淡飯

是個可以考慮的店喔!



P.S.我去的時候是坐一樓VIP室(因為沒位子哈~~),一樓免收10%服務費



 







粗茶淡飯





相關網頁:http://tw.lifestyle.yahoo.com/biz.html?bizid=674b5890e604162b


營業地點:台北市中正區汀洲路三段257號
營業時間:早上10:00 ~ 凌晨2:00
電話: (02) 23696367
商業午餐(三菜一湯一果汁)價格190元~210元之間不等。
使用2F小包廂加收1成服務費。
團體用餐,須事先預訂。



 



 


gan068 發表在 痞客邦 留言(0) 人氣()

    
  1. 開啟php.ini
  2. 搜尋php_exif.dll
  3. 將;extension=php_exif.dll的;刪除
  4. 搜尋php_mbstring.dll
  5. 將;extension=php_mbstring.dll的;刪除
  6. 將extension=php_mbstring.dll插入在extension=php_exif.dll之前
  7. 停止apache
  8. 重開apache
  9. 測試php_exif是否已經可正常使用


 



php.ini設定範例



extension=php_mbstring.dll
extension=php_exif.dll


gan068 發表在 痞客邦 留言(0) 人氣()

預設的apache會將所有的access紀錄都存放於access.log,



error紀錄都存放於error.log,



當伺服器運行時間一長,access的紀錄會越來越多,可能一天的紀錄就有可能超過1GB以上,



為了讓log檔案的大小不要過度膨脹,影響伺服器的穩定、效能,



所以控制log紀錄檔的大小,有助於提升伺服器的穩定度。



如果你是用Apache2.2以後的版本,



你可以在apache安裝目錄內找到bin資料夾,



內含一個執行檔 rotatelogs.exe







該程式的使用參數請參考:http://httpd.apache.org/docs/2.0/programs/rotatelogs.html



在apache的預設設定檔中


    


  • ErrorLog "logs/error.log"
  • 


  • CustomLog "logs/access.log" common
  • 


這兩個參數就是預設log紀錄存放的檔案路徑,



將這兩個設定分別設定為


    


  • ErrorLog "|bin/rotatelogs.exe -l N:/logs/error/error-%Y-%m-%d.log 86400"
  • 


  • CustomLog "|bin/rotatelogs.exe -l N:/logs/access/access-%Y-%m-%d.log 86400" common
  • 


這樣log紀錄會每86400秒(一天),就做切檔的動作,記錄到N:/下指定的位置,檔名會依日期命名



你也可以這樣設定


    


  • ErrorLog "|bin/rotatelogs.exe -l N:/logs/error/error-%Y-%m-%d.log 100M"
  • 


  • CustomLog "|bin/rotatelogs.exe -l N:/logs/access/access-%Y-%m-%d.log 100M" common
  • 


這樣log每天最大紀錄100MB,檔名會依日期命名



如果你是用vhosts設定虛擬伺服器,記得也要對每個虛擬伺服器作分開的設定喔!


gan068 發表在 痞客邦 留言(1) 人氣()

/*使用範例var qs=remove_parameter('home=1&page=1&last=1',['page','home']);qs將變成last=1*/remove_parameter=function(queryString,parameters){  var result='';  var each_parameter=queryString.split("&");  var duplicated=false;  for (var i=0 ; i<each_parameter.length; i++){    var each_value=each_parameter[i].split("=");      for(var j=0;j<parameters.length;j++){        if(each_value[0]==parameters[j]){          duplicated=true;          break;        }      }      if(!duplicated){        result+=(result!='')?'&':'';          result+=each_parameter[i];      }      duplicated=false;    }  return result;};

gan068 發表在 痞客邦 留言(0) 人氣()

資料表 ObjA{ column:id,name PK:id } ObjB{ column:ref_obja_id,name PK:ref_obja_id FK:ref_obja_id } DAO資料模型



 


package eg;public class ObjA{ private Integer Id; private String Name; private ObjB ObjB; /* getter and setter 省略 */}

package eg;public class ObjB{ private Integer RefObjAId; private String Name; private ObjA RefObjA; /* getter and setter 省略 */}


Hibernte mapping檔案 ObjA.hbm.xml


 <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="eg"> <class name="ObjA" table="ObjA"> <id column="id" name="Id" type="integer">   <generator class="native"> </id> <property column="name" length="50" name="Name" type="string"/> <one-to-one name="ObjB"   class="ObjB"   cascade="all" /> </class> </hibernate-mapping>


ObjB.hbm.xml


<?xml version="1.0"?>  <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="eg"> <class name="ObjB" table="ObjB"> <id column="ref_obja_id" name="RefObjAId" type="integer">   <generator class="foreign">     <param name="property">RefObjA</param>   </generator> </id> <property column="name" generated="never" length="50" name="Name" type="string"/> <one-to-one name="RefObjA"   class="ObjA"   constrained="true" /> </class> </hibernate-mapping>

gan068 發表在 痞客邦 留言(0) 人氣()

利用瀏覽器對圖片運算的特性,當指定固定圖片寬度的時候,高度不需要指定,在瀏覽器展示圖片的時候將會自動被計算出來,反之,固定高度,不設定寬度也是如此。


img_list=Ext.get(wedgit_div_id).query('img');Ext.each(img_list,function(){  obj=Ext.Element.get(this);  var width=250;  if(obj.getWidth()>width){    obj.setWidth(width);  }});

gan068 發表在 痞客邦 留言(0) 人氣()

鬼打牆的瀏覽器:IE系列,永遠都會有未知的BUG,
並且加上難以DEBUG javascript的特性,
始終是RD的夢靨,



本次在javascriptFramework Extjs 2.1上,碰到了Ext.Window+tinymce3.1的跑版問題,
不加tinymce,Ext.Window的layout很正常,
加上tinymce,IE7在滑鼠沒經過Ext.Window的content時,會往左上或是左下大跑版,
經過幾日的測試,
找到了暫時的解決方法,就是裝有要被tinymce轉換的元件的容器內,
不能將容器的寬度及高度設定為autoWidth:true以及autoHeight:true,
寬度與高度間,至少必須指定寬度,然後就解決了跑版問題,完畢。


gan068 發表在 痞客邦 留言(0) 人氣()

    
  1. 申請YDN的使用權限帳密,假設我們的endpoint為/xxx.jsp
  2. 產生連結到Yahoo的URL
  3. 產生原則為,https://api.login.yahoo.com/WSLogin/V1/wslogin?appid=帳號&appdata=攜帶資料&send_userhash=1&ts=系統秒數&sig=簽名碼
    說明:send_userhash=1代表要求yahoo回傳一個獨特不重複的userhash給我們,此參數可省略,
    sig簽名碼產生規則:使用MD5編碼下列字串,/WSLogin/V1/wslogin?appid=帳號&appdata=攜帶資料&send_userhash=1&ts= 系統秒數+密碼
    若是不回傳userhash,則簽名碼的&send_userhash=1也不需加入
  4. 讓使用者Link到我們產生出來的Yahoo URL
  5. 使用者自行到yahoo認證,並且按確認,Yahoo將會把控制權交回,回傳帶有參數的QueryString給我們程式,有ts,userhash(有設定send_userhash=1才有),appdata,sig,token
    範例:http://com.tw/xxx.jsp?appid=由Yahoo回傳&token=由Yahoo回傳&appdata=由 Yahoo回傳&userhash=由Yahoo回傳&ts=由Yahoo回傳&sig=由Yahoo回傳
  6. 驗證yahoo回傳的簽名碼
    sig簽名碼的長度必須為32
    ts減去現在系統秒數必須小於600秒
    產生的驗證簽名碼,使用MD5編碼下列字串,/xxx.jsp?appid=由Yahoo回傳&token=由Yahoo回傳&appdata=由Yahoo回傳&userhash=由Yahoo回傳&ts=現在系統秒數+密碼
  7. 如果驗證sig碼與Yahoo回傳的sig相同,代表此次的BBAuth成功,大功告成


 


<?php//PHP產生認證LINK範例$appid = 'id';$secret = 'pw';$ts = time();$str='/WSLogin/V1/wslogin?appid='.$appid.'&appdata=&send_userhash=1&ts='.$ts;$sig = md5($str.$secret);$url = 'https://api.login.yahoo.com/WSLogin/V1/wslogin?appid='.$appid.'&appdata=&send_userhash=1&ts='.$ts.'&sig='.$sig;echo $url;?>

gan068 發表在 痞客邦 留言(1) 人氣()

在台南安平區的延平老街上逛著逛著,已經到了用午餐的時間,



由於人生地不熟,所以我又拿起了手機直撥我們公司的台南人服務台 james ,



他說路邊有炸扁食,隨便一家都可以吃,於是就選定了這家:僑益扁食。



 







安平延平老街僑益扁食





斗大的招牌上寫著50年老店~~







安平延平老街僑益扁食





炸扁食強烈建議點1份,兩人共吃,剛剛好,理由不外乎炸物太容易膩了!



炸扁食的皮炸的不錯酥,也不會很油,也不會太鹹,蝦子也不會糊糊的,應該挺新鮮的,盤子也有墊吸油面紙,



湯扁食也不錯,扁食雖大,但不會有肉的腥味喔!



僑益扁食不像有些扁食吃粗飽的,大雖大,但卻有豬肉腥味,感覺不夠精緻、新鮮。



 







安平延平老街僑益扁食





還好這次亂槍打鳥,沒有碰到地雷,算是可以嚐嚐的一家店,一份炸物,一碗湯,配起來剛剛好呢!



 





僑益扁食 





台南市安平區延平街45號


gan068 發表在 痞客邦 留言(0) 人氣()