2013年4月18日 星期四

【軟體篇】程式版本控制SVN: VisualSVN Server + Tortoise Client 1.7.11 64bit(ICON解決方案)

【軟體篇】版本控制安裝.. VisualSVN Server + Tortoise Client 1.7.11 64bit 

【安裝 VisualSVN Server 】
一併安裝很多軟體
下載網址:http://www.visualsvn.com/server/download/

可參考此網站安裝Server 流程:http://meow2prod.blogspot.tw/2013/02/visualsvn-server-subversion.html
(出處:二人四貓工作室)(該篇文章時間:2013-02-16 滿新的,又滿簡單的)


【安裝 Tortoise Client 1.7.11 64bit   】(個人安裝)
軟體一(安裝):TortoiseSVN-1.7.11.23600-x64-svn-1.7.8.msi
軟體二(語言):LanguagePack_1.7.11.23600-x64-zh_TW.msi

注意:
windows 7 限制 icon 最多15個(我是裝Win7)
要到regedit 搜尋--> ShellIconOverlayIdentifiers 有沒有超過15個

微軟內建(如果超過挑一個刪除吧)
1.EnhancedStorageShell
2.Offline Files
3.SharingPrivate

PS.如果沒做這個動作,資料夾無法顯示icon 圖檔出現,該檔案是什麼狀態

如果你又有裝DROPBOX那就...自己看著辦到底要刪哪個

2013年3月24日 星期日

2013年1月1日 星期二

【2013】目標100本書閱讀計劃 - 1 (01-10)

這是我的2013年閱讀(100本書)清冊(001 - 010):

(001)
書名:
作者:
摘要:
心得:
閱讀時間:Star 2013-00-00 ~ End 2013-00-00


(002)
書名:
作者:
摘要:
心得:
閱讀時間:Star 2013-00-00 ~ End 2013-00-00


(003)
書名:
作者:
摘要:
心得:
閱讀時間:Star 2013-00-00 ~ End 2013-00-00


(004)
書名:
作者:
摘要:
心得:
閱讀時間:Star 2013-00-00 ~ End 2013-00-00


(005)
書名:
作者:
摘要:
心得:
閱讀時間:Star 2013-00-00 ~ End 2013-00-00


(006)
書名:
作者:
摘要:
心得:
閱讀時間:Star 2013-00-00 ~ End 2013-00-00


(007)
書名:
作者:
摘要:
心得:
閱讀時間:Star 2013-00-00 ~ End 2013-00-00


(008)
書名:
作者:
摘要:
心得:
閱讀時間:Star 2013-00-00 ~ End 2013-00-00


(009)
書名:
作者:
摘要:
心得:
閱讀時間:Star 2013-00-00 ~ End 2013-00-00


(010)
書名:
作者:
摘要:
心得:
閱讀時間:Star 2013-00-00 ~ End 2013-00-00








2012年12月5日 星期三

【ASP.NET 教學】(二)TransactionScope mdts 錯誤 PS.Web.Config 問題 (鬼打牆)


繼第一篇延續


後來追查到 web.config 設定

結果把A1ConnectionString 的connectionString 後半段內容複製
貼到 A2ConnectionString 的connectionString  後面

結果就能Run了

如果兩個connectionString  其中有一點點不一樣,就會又出現MDTS未啟用狀態 錯誤

=.=真的翻書也沒找到的解答

更新:add name="xxxConnectionString"



原:

改為:


說明:與add name="ConnString"  相同設定,避免TransactionScope 出現錯誤MDTS未啟用狀態


很神的是,我本機兩個混著用都沒問題=.=",上傳到server 就出現錯誤
【搞什麼東西】

【ASP.NET 教學】(一)TransactionScope mdts 錯誤 (鬼打牆)

今天花了一整個晚上搞個  TransactionScope
TransactionScope SqlConnection 只能相同 連結使用

之前程式高手在類別裡面有寫 回傳DATATABLE  FUNCTION
但設定的 SqlConnection  ConnectionStrings設定名稱: Conn1

然後我在我自己的程式裡寫了一個
TransactionScope
裡面
有個SqlDataSource 但設定的 SqlConnection  ConnectionStrings 設定:  Conn2

這兩個都是連同的DB

結果執行都還沒到Scope.Complete();
就出現錯誤
已停用分散式交易管理員(MSDTC)的網路存取。請使用元件服務系統管理工具啟用DTC,以使用MSDTC安全性設定中的網路存取

我還以為是我DDL 沒開啟,還是說防火牆被擋,
然後我都全部打開=.="
依然沒效(花了快8個小時測試)

結果我放棄用高手寫的(DATATABLE  FUNCTION 回傳 ), 改用 SqlDataSource  控制項 設定連結也是用 Conn2
結果他就通了,就沒出現MSDTC 錯誤訊息

後來我改 回傳DATATABLE  FUNCTION  裡面的 SqlConnection 也改成 Conn2
也也也也成功了

不知道是不是 TransactionScope  只能在同一條 SqlConnection  ConnectionStrings 操作=.="

我發佈是到 WINDOWS 2008 R2  && SQL 2008 STANDER版

我在本機原本照舊的程式碼測試都沒問題,結果發佈到遠端就出現錯誤=.="

搞了我那麼久才找到解決方法

但我認為 TransactionScope   要用兩條不同的 SqlDataSource  應該是可以,但我就找不到解答

目前就這樣處理吧

最後一句「幹X什麼丫」



2012年10月28日 星期日

【電影】國片:逆光飛翔

片名:逆光飛翔

心得:配音、角色、情節、橋段,只能說棒...

有興趣的人可以去看看這部,或許你會流下你的眼淚,或許你會更勉力自己...

2012年8月21日 星期二

【方向】設計目標

.選擇什麼?  (Select What)
.如何選擇?  (How Select)
.怎麼操作?  (How Do)
.操作什麼?  (Do What)

2012年8月9日 星期四

2012年6月26日 星期二

【CR】解決Crystal Reports 8.5 轉PDF中文出現亂碼情形

轉載:http://suya081212.pixnet.net/blog/post/27509438


Crystal Reports版本:8.5 單機環境
解決方法:將原本的crxf_pdf.dll換成Crystal Reports 9版的crxf_pdf.dll

【分享】ASP + Windows 2008 64Bit & (R2) + IIS 7 + Crystal Report 8.5 + cdonts.dll (smtp) + Framework 3.5

安裝成功

開發網站:ASP

作業系統:Windows 2008 64Bit (和R2版)

網站環境:IIS 7

網站支援軟體:
Crystal Report 8.5   或 Crystal Report 11
(針對R2版的設定)
rptserver.asp,把
response.addheader "CONTENT-LENGTH", lenb(temp)
改成
response.addheader "CONTENT-LENGTH", lenb(temp + 0)
PS.原來都不是dll的問題!

cdonts.dll(smtp) 參考一步一步做就成功了:http://www.nocser.net/clients/knowledgebase/403/Install-cdontdll-and-ASP-SMTP-Mail-Windows-2008.html

執行網站核心:NET Framework 3.5

PS.未來要延展 Crystal Report 2010版及ASP.NET 開發

2012年6月19日 星期二

轉載:延長Windows Server 2008 試用期間



使用 Windows 2008內建指令 slmgr.vbs 搭配相關參數即可達成延長試用。

1.使用【以系統管理員身份執行】去開啟【命令提示字元】
2.輸入指令【slmgr.vbs -dlv】顯示詳細的啟用識別資訊,可得知試用剩餘時間及剩餘的Windows重設授權狀態計數
3.輸入指令【slmgr.vbs -rearm】執行延長試用
4.重新開機
5.輸入指令 【slmgr.vbs -dlv】 確認試用剩餘時間及剩餘的Windows重設授權狀態計數(計數會減1)


ps.微軟也有提供啟用識別資訊工具 MGADiag.exe ,可從此工具得到更多的資訊。
http://go.microsoft.com/fwlink/?linkid=52012

2012年5月24日 星期四

【JQUERY】dropdownlist 抓 值 或 txt 或 item 裡面全部的value


dropdownlist 抓 值 或 txt 或 item 裡面全部的value

假設 DropDownList ID 為 DropDownList1 
 
取得 DropDownList 選中的文字
$('#DropDownList1 option:selected').text();
  
取得 DropDownList 選中的內容
$('#DropDownList1 option:selected').val();


xxx script type="text/javascript"xxxx
   function getSelect() {
      var selected = $('#DropDownList1 option:selected');
      alert(selected.val());
   }   
xxx /script xxx

【JavaScript】載入時亂碼,處理方式

環境ASP.NET

JS 是很久以前做的,重覆使用的時候,alert跳出來時居然是亂碼

在script 裡面 加入    charset="Big5"  就搞定了


<   Xxxxscript charset="Big5" src=".XXXXX.JS" xxxx="text/javascript"   >

預設charset UTF-8

參考網址:http://caterpillar.onlyfun.net/Gossip/Encoding/JavaScript.html

2012年5月15日 星期二

【ASP.NET】程式設定SelectParameters值 及InsertParmeters Datatime 值



【HTML】
       
           
       


【CODE】
sqlDataSource1.SelectParameters["COM_3NO"].DefaultValue = "EVA";


sql_insert_Master.InsertParameters.Add("SYSTEM_DATE", DateTime.Now.ToString("yyyy/MM/dd H:mm:ss").ToString());
使用:DateTime.Now.ToString("yyyy/MM/dd H:mm:ss").ToString()

2012年5月11日 星期五

ASP.NET 發生 Viewstate MAC 的驗證失敗 ( machineKey

解決方法
在page 加上以下這樣
EnableEventValidation="false" EnableViewStateMac="false" ViewStateEncryptionMode="Never"

2012年5月6日 星期日

【股市-短線報】2012-05-07 股票代碼:2881 富邦金

【股市-短線報】2012-05-07  股票代碼:2881

AM10:48

2881富邦金
加到投資組合
10:1630.4030.3530.40▽0.558,57930.9530.5030.5530.35


今天買到賺到,一個月後,會漲到33.55



2012年5月1日 星期二

GridView RowUpdating 取欄位值 欄位名稱 CustomValidator 設定


2. 擷取 GridView內部的某一列、某一欄位的值
欄位值
 string d = (string)e.NewValues["LastName"];
string d = (string)e.NewValues["LastName"];
 if (d.Length < 5)
 {
 this.ClientScript.RegisterClientScriptBlock(this.GetType(), "msg", "");
 e.Cancel = true;
}
            else
            {
                this.ClientScript.RegisterClientScriptBlock(this.GetType(), "msg", "");
            }

欄位 input 名稱
GridView1.Rows[e.RowIndex].Cells[3].Controls[0].ClientID


--------------  CustomValidator  驗證 類別 使用  --------------

CustomValidator _CustomValidator = new CustomValidator(); 建立類別
_CustomValidator.ControlToValidate = this.txtName.ID; 控制名稱
_CustomValidator.ClientValidationFunction = "check"; Function 名稱
_CustomValidator.ErrorMessage = "請輸入資料"; 錯誤訊息文字
_CustomValidator.ValidateEmptyText = true; 是否驗證空白(一定要選)
_CustomValidator.EnableClientScript = true; 驗證使用者是否把Script 關閉
_CustomValidator.ServerValidate += new ServerValidateEventHandler(CustomValidator1_ServerValidate); 註冊 Code Server端驗證
Page.Form.Controls.Add(_CustomValidator); 將類別 放置Form 裡面



Code

        private void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
        {

            if (txtName.Text.Length < 5)
            {
                this.ClientScript.RegisterClientScriptBlock(this.GetType(), "msg", "");
                args.IsValid = false;
            }
            else
                this.ClientScript.RegisterClientScriptBlock(this.GetType(), "msg", "");
        }


Html
scriptfunction check(source, arguments){

    if(arguments.Value.length<5){
        alert("長度要大於4");
        arguments.IsValid = false;
    }
    else{;
    }

}
script





2. 擷取 GridView內部的某一列、某一欄位的值
C#語法 -- TextBox my_test_time = (TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0];
VB語法 -- Dim my_test_time As TextBox = GridView1.Rows(e.RowIndex).Cells(4).Controls(0)
              或是用 CType(GridView1.Rows(e.RowIndex).Cells(4).Controls(0), TextBox)來作轉換,強制轉成TextBox型態

2012年4月26日 星期四

【ASP.NET】讀取ASP Cookies 方式


【ASP.NET】讀取ASP Cookies 方式

            if (Request.Cookies["UserID"] != null)
            {
                string userSettings;
                if (Request.Cookies["UserID"] != null){
                    userSettings = Request.Cookies["UserID"].Value;
                    Label3.Text = userSettings;
                }
            }

參考網址:http://msdn.microsoft.com/zh-tw/library/bd70eh18(v=vs.80).aspx

2012年4月24日 星期二

【ASP.NET C#】SqlDataSource InsertCommand 空白 Null 參數設定 日期

SqlDataSource InsertCommand 新增 空白 Null 參數 設定 日期 或其型態,新增資料庫看到是 Null 尚未填寫,而不是空白,在日期欄位就不會發生錯誤

以下適用 SqlDataSource  Insert Update 功能

我有拉了一個 SqlDataSource 進來,而不是自己在Code 建一個Command

(第一種做法) 在Code 裡面 建立 Parameter 類別參數,設定該參數型別及值

SqlDataSource1.InsertCommand = "Insert Into TABLE2(id,tdate) Values('test1',@strDate) ";

Parameter strDate = new Parameter("strDate", System.Data.DbType.DateTime,string.Empty);

SqlDataSource1.InsertParameters.Add(strDate);

SqlDataSource1.Insert();


(第二種做法) 直接在InsertParameters 使用
SqlDataSource1.InsertCommand = "Insert Into TABLE2(id,tdate) Values('test1',@strDate) ";


SqlDataSource1.InsertParameters.Add(new Parameter("strDate", TypeCode.DateTime, string.Empty));

SqlDataSource1.Insert();

(第三種做法) 予許 變數 為 Null 型別 ConvertEmptyStringTo=True
SqlDataSource1.InsertCommand = "Insert Into TABLE2(id,tdate) Values('test1',@strDate) ";

Parameter strDate = new Parameter("strDate", System.Data.DbType.DateTime);

strDate.ConvertEmptyStringToNull = true;

SqlDataSource1.InsertParameters.Add(strDate);

SqlDataSource1.Insert();

(第四種做法)我還沒用過,因為他是建立 sqlcommand 類別

Command.Parameters.Add(new SqlParameter("@EditTime", SqlDbType.DateTime));
Command.Parameters["@EditTime"].IsNullable = true;
if((EditTime == null) || (EditTime == DateTime.MinValue))
Command.Parameters["@EditTime"].Value = DBNull.Value;
else
Command.Parameters["@EditTime"].Value = EditTime;
此做法
參考網址1:http://tw.myblog.yahoo.com/pey-chow/article?mid=8&prev=9&next=7
參考網址2:http://www.programmer-club.com/ShowSameTitleN/aspdotnet/5.html


另外介紹: Parameter 類別 重要參數設定 
一、public Parameter(string name, DbType dbType);

二、public Parameter(string name, DbType dbType, string defaultValue);

因為Parameter 只吃 String(字串)格式 所以我們使用string.Empty使用方式帶入,無法使用('')或toString()方式,因為型別(Date)不一樣,在 Insert它不吃('')及toString(),會出現型態格式錯誤

型別 使用:System.Data.DbType.DateTime 或 TypeCode.DateTime 都可使用




2012年4月16日 星期一

【ASP.NET 3.5】GridView 欄位 檢查

一、GridView1_RowUpdating

if(string.IsNullOrEmpty((string)e.NewValues[0])) {

                sScript = "alert('欄位不得為空值');";
                ScriptManager.RegisterStartupScript(this, this.GetType(), "error", sScript, true);
                e.Cancel = true; //取消更新

}

二、SqlDataSource1_Updating

            string sScript;
            if (String.IsNullOrEmpty(e.Command.Parameters["@NAL_BCP_M"].Value.ToString()))
            {
                sScript = "alert('欄位不得為空值');";
                ScriptManager.RegisterStartupScript(this, this.GetType(), "error", sScript, true);
                e.Cancel = true; //取消更新
            }

【螢火蟲】苗栗 三義 不遠山莊

苗栗 三義 不遠山莊

2012年4月15日 星期日

【VS 2008】快速鍵 功能

Ctrl+E+S 程式碼 空白鍵 (出現一點一點)
Ctrl+E+C 註解 //
Ctrl+E+U 取消 註解 //
Ctrl+X 剪下
Ctrl+V 貼上

Ctrl+E+D 程式碼 自動重新整理 編排


F7 檢視程式碼
F7+Shift 檢視設計頁面
CTRL+L 刪除游標所在的那一行
CTRL+K CTRL+F 將選取範圍的程式碼自動排版

2012年4月10日 星期二

【音樂分享】The Calling - Wherever You Will Go

主唱 The Calling

一、原唱MV

二、網友自做MV

歌詞:

So lately, I've been wonderin
等了好久,我期望了好久
Who will be there to take my place
誰會來到這裡代替我的位置
When I'm gone, you'll need love
當我離開,妳需要愛的時候
To light the shadows on your face
誰妳趕走陰暗,照亮妳的臉龐
If a great wave should fall
如果大浪應該平息
It would fall upon us all
浪會全部跌落在我們的腳下
And between the sand and stone
在沙子與砂礫之間
Could you make it on your own
妳可以自己達成這個目標嗎

[Chorus:]

If I could, then I would
如果我能, 我然後會
I'll go wherever you will go
無論妳去哪我都會跟著妳
Way up high or down low
不論是往上或向下
I'll go wherever you will go
無論到哪我都會跟著妳

And maybe, I'll find out
有可能,我會找到
The way to make it back someday
某天找到讓它回來的方法
To watch you, to guide you
看著妳,守住妳
Through the darkest of your days
在妳生命中灰暗的這些日子裡
If a great wave should fall
如果大浪應該平息
It would fall upon us all
浪會全部跌落在我們的腳下
Well I hope there's someone out there
我希望有某人在那裡
Who can bring me back to you
可以把我帶回到妳身邊

[Chorus]

Runaway with my heart
我的心走了
Runaway with my hope
我的希望走了
Runaway with my love
我的愛也走了
I know now, just quite how
我知道現在,到底是怎麼了
My life and love might still go on
我的生活和愛可能可以繼續
In your heart and your mind
在妳的心中和妳的思緒中
I'll stay with you for all of time
我會為妳一直等待著

[Chorus]

If I could turn back time
如果我可以讓時光倒迴
I'll go wherever you will go
我會跟著妳 無論妳到哪裡
If I could make you mine
如果我可以讓妳變成我一個人的
I'll go wherever you will go
我會跟著妳 無論妳到哪裡

【SQL 教學】 觸發程序 ( Trigger )

新增 觸發程序位置

主要 Tigger 是在 SQL 裡面 自動觸發事件(執行寫的一段程式碼,新增(請看圖片))

我大概寫一下我自己所要用到的用法

AFTER INSERT --程式新增後再新增觸發事件



---2012/04/10 Kares 新增
CREATE TRIGGER fixTable2 ON [dbo].[TABLE1]     ---fixTable2  , 針對TABLE1 資料表觸發
AFTER INSERT ---程式新增後 再比對 觸發事件 INSERT、UPDATE、DELETE 三種事件
NOT FOR REPLICATION ---不覆寫 
AS

DECLARE @YYYMM VARCHAR(5) --自訂變數
SELECT @YYYMM=NAME FROM inserted---程式新增一筆的暫存資料Table / inserted、deleted 

IF EXISTS(SELECT NAME FROM TABLE2 WHERE NAME=@YYYMM) ---判斷Keyword 資料在Table2有沒有建立過
BEGIN
PRINT '資料重復'
RETURN
END
ELSE
INSERT INTO TABLE2(NAME) VALUES(@YYYMM) ---新增一筆資料

如果要看到'資料重復' 這個字,就要到 SQL 裡面 Query Analyzer 新增一筆資料,就會看到自定的文字顯示,在程式端新增,是看不到這個訊息

2012年4月6日 星期五

2012年4月4日 星期三

DataBound 下取 某個欄位的值

DataBound

Label1.Text = ((DataRowView)FormView1.DataItem).Row["NAME"].ToString();

紅色的值可以換掉