這是一個好工具,可轉換 C# code to HTML 格式,
這樣就可以貼到部落格上了
網址 : http://www.manoli.net/csharpformat/
以前這名的主人,會說 Perton 是 普通(台語)。 信主後,Perton 是主の殿與教會,他已不再和以前一樣,舊事已過,今日已成新造之人。 定睛在主的榮面上,遠重於人話語上的小信及自我抵毁。
[C#] Window Form 事件順序
微軟MSND中提到:對於需要輪流處理 Windows Form 應用程式中每個事件的開發人員來說,事件的引發順序就十分重要。
當某個狀況呼叫嚴密的事件處理,如重新繪製表單的部分時,有必要了解事件在執行階段時的明確引發順序。
下面列出Windows Form 中事件的順序,以方便日後上課或是設計專案時參考。
Form 和 Control 有關啟動與關閉的事件順序為可分為兩大類,
當 Windows Form 應用程式啟動時,會以下列順序引發主要表單的啟動事件:
* Control.HandleCreated
* Control.BindingContextChanged
* Form.Load
* Control.VisibleChanged
* Form.Activated
* Form.Shown
當應用程式關閉時,會以下列順序引發主要表單的關閉事件:
* Form.Closing
* Form.FormClosing
* Form.Closed
* Form.FormClosed
* Form.Deactivate
焦點和驗證事件:
當透過使用鍵盤按鍵 (TAB、SHIFT+TAB 等)、呼叫 Select 或 SelectNextControl 方法,或是將 ActiveControl 屬性設定成目前的表單等作法,變更焦點時,Control 類別的焦點事件,就會以下列順序發生:
* Enter
* GotFocus
* Leave
* Validating
* Validated
* LostFocus
當使用滑鼠或呼叫 Focus 方法來變更焦點時,Control 類別的焦點事件會以下列順序發生:
* Enter
* GotFocus
* LostFocus
* Leave
* Validating
* Validated
當某個狀況呼叫嚴密的事件處理,如重新繪製表單的部分時,有必要了解事件在執行階段時的明確引發順序。
下面列出Windows Form 中事件的順序,以方便日後上課或是設計專案時參考。
Form 和 Control 有關啟動與關閉的事件順序為可分為兩大類,
當 Windows Form 應用程式啟動時,會以下列順序引發主要表單的啟動事件:
* Control.HandleCreated
* Control.BindingContextChanged
* Form.Load
* Control.VisibleChanged
* Form.Activated
* Form.Shown
當應用程式關閉時,會以下列順序引發主要表單的關閉事件:
* Form.Closing
* Form.FormClosing
* Form.Closed
* Form.FormClosed
* Form.Deactivate
焦點和驗證事件:
當透過使用鍵盤按鍵 (TAB、SHIFT+TAB 等)、呼叫 Select 或 SelectNextControl 方法,或是將 ActiveControl 屬性設定成目前的表單等作法,變更焦點時,Control 類別的焦點事件,就會以下列順序發生:
* Enter
* GotFocus
* Leave
* Validating
* Validated
* LostFocus
當使用滑鼠或呼叫 Focus 方法來變更焦點時,Control 類別的焦點事件會以下列順序發生:
* Enter
* GotFocus
* LostFocus
* Leave
* Validating
* Validated
二十四節氣歌
老祖宗的智慧 -- 二十四節氣
到我們這輩,都已不熟悉了,何況我的子孫輩呢?
春雨驚春清穀天,
夏滿芒夏暑相連。
秋處露秋寒霜降,
冬雪雪冬寒又寒。
立春、雨水、驚蟄、春分、清明、穀雨
立夏、小滿、芒種、夏至、小暑、大暑
立秋、處暑、白露、秋分、寒露、霜降
立冬、小雪、大雪、冬至、小寒、大寒
到我們這輩,都已不熟悉了,何況我的子孫輩呢?
春雨驚春清穀天,
夏滿芒夏暑相連。
秋處露秋寒霜降,
冬雪雪冬寒又寒。
立春、雨水、驚蟄、春分、清明、穀雨
立夏、小滿、芒種、夏至、小暑、大暑
立秋、處暑、白露、秋分、寒露、霜降
立冬、小雪、大雪、冬至、小寒、大寒
PowerShell Scripts 如何執行?
PowerShell Scripts 檔案,附檔名為 .ps1。(是數字的1,不是文字的小寫l)
對於 .ps1 的檔案,該如何執行?
直接在 PowerShell 的環境中
打入 D:\Learning\PowerShell\Ch02\GetFileShares.ps1
或是
先 cd D:\Learning\PowerShell\Ch02\
再打入 .\GetFileShares.ps1 (即便是在現行作用目錄區中,也要用 .\ )
在啟動 PowerShell 環境時
PowerShell -Noexit -command "D:\Learning\PowerShell\Ch02\GetWmiAndQuery.ps1"
參數
-Noexit:為了保持 PowerShell 的執行結果,能保留下來。
-command:為了是在啟動 PowerShell 時,一併載入指定的批次檔案。
===============================================
在路徑表示中,若是遇到含有 空白字元 的文件夾名稱,需要已 單引號 來標明。
例如:
PowerShell -Noexit -command "D:\Learning\'[MS Press] Windows PowerShell Scripting Guide'\Ch02\GetWmiAndQuery.ps1"
對於 .ps1 的檔案,該如何執行?
- 和一般的檔案執行一樣,雙擊 ps1 (double-click);不對
- 在開始/執行 (Start / Run) 打入Script檔案名稱;不對
- 直接在 PowerShell 的環境中,打入 Script檔案名稱 (含該檔案的完整路徑及附檔名);對的
- 在啟動 PowerShell 環境時,一併將 Script檔案名稱 及相關參數指令打入;對的
直接在 PowerShell 的環境中
打入 D:\Learning\PowerShell\Ch02\GetFileShares.ps1
或是
先 cd D:\Learning\PowerShell\Ch02\
再打入 .\GetFileShares.ps1 (即便是在現行作用目錄區中,也要用 .\ )
在啟動 PowerShell 環境時
PowerShell -Noexit -command "D:\Learning\PowerShell\Ch02\GetWmiAndQuery.ps1"
參數
-Noexit:為了保持 PowerShell 的執行結果,能保留下來。
-command:為了是在啟動 PowerShell 時,一併載入指定的批次檔案。
===============================================
在路徑表示中,若是遇到含有 空白字元 的文件夾名稱,需要已 單引號 來標明。
例如:
PowerShell -Noexit -command "D:\Learning\'[MS Press] Windows PowerShell Scripting Guide'\Ch02\GetWmiAndQuery.ps1"
SQL 2008 xp_cmdshell
SQL 2008 xp_cmdshell 在預設情況下,是被Disable。
若要使用,就需要先加以啟用。(Enable)
T-SQL 語法:
exec sp_configure 'show adv',1
reconfigure
exec sp_configure 'xp_cmdshell',1
reconfigure
若不要使用,可以加以停用。(Disable)
T-SQL 語法:
exec sp_configure 'show adv',1
reconfigure
exec sp_configure 'xp_cmdshell',0
reconfigure
xp_cmdshell 的使用範例:
exec xp_cmdshell 'D:\'
若要使用,就需要先加以啟用。(Enable)
T-SQL 語法:
exec sp_configure 'show adv',1
reconfigure
exec sp_configure 'xp_cmdshell',1
reconfigure
若不要使用,可以加以停用。(Disable)
T-SQL 語法:
exec sp_configure 'show adv',1
reconfigure
exec sp_configure 'xp_cmdshell',0
reconfigure
xp_cmdshell 的使用範例:
exec xp_cmdshell 'D:\'
MSSQL管理常用SQL和T-SQL語句
MSSQL管理常用SQL和T-SQL語句
1. 查看資料庫的版本
select @@version
2. 查看資料庫所在機器作業系統參數
exec master..xp_msver
3. 查看資料庫啟動的參數
sp_configure
4. 查看資料庫啟動時間
select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1
查看資料庫伺服器名和實例名
print 'Server Name...............: ' + convert(varchar(30),@@SERVERNAME)
print 'Instance..................: ' + convert(varchar(30),@@SERVICENAME)
5. 查看所有資料庫名稱及大小
sp_helpdb
重命名資料庫用的SQL
sp_renamedb 'old_dbname', 'new_dbname'
6. 查看所有資料庫用戶登錄資訊
sp_helplogins
查看所有資料庫用戶所屬的角色資訊
sp_helpsrvrolemember
修復遷移伺服器時孤立用戶時,可以用的fix_orphan_user腳本或者LoneUser過程
更改某個資料物件的用戶屬主
sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'
注意: 更改物件名的任一部分都可能破壞腳本和存儲過程。
把一台伺服器上的資料庫用戶登錄資訊備份出來可以用add_login_to_aserver腳本
7. 查看鏈結伺服器
sp_helplinkedsrvlogin
查看遠端資料庫用戶登錄資訊
sp_helpremotelogin
8.查看某資料庫下某個資料物件的大小
sp_spaceused @objname
還可以用sp_toptables過程看最大的N(默認為50)個表
查看某資料庫下某個資料物件的索引資訊
sp_helpindex @objname
還可以用SP_NChelpindex過程查看更詳細的索引情況
SP_NChelpindex @objname
clustered索引是把記錄按物理順序排列的,索引占的空間比較少。
對鍵值DML操作十分頻繁的表我建議用非clustered索引和約束,fillfactor參數都用預設值。
查看某資料庫下某個資料物件的的約束資訊
sp_helpconstraint @objname
9.查看資料庫裏所有的存儲過程和函數
use @database_name
sp_stored_procedures
查看存儲過程和函數的源代碼
sp_helptext '@procedure_name'
查看包含某個字串@str的資料物件名稱
select distinct object_name(id) from syscomments where text like '%@str%'
創建加密的存儲過程或函數在AS前面加WITH ENCRYPTION參數
解密加密過的存儲過程和函數可以用sp_decrypt過程
10.查看資料庫裏用戶和進程的資訊
sp_who
查看SQL Server資料庫裏的活動用戶和進程的資訊
sp_who 'active'
查看SQL Server資料庫裏的鎖的情況
sp_lock
進程號1--50是SQL Server系統內部用的,進程號大於50的才是用戶的連接進程.
spid是進程編號,dbid是資料庫編號,objid是資料物件編號
查看進程正在執行的SQL語句
dbcc inputbuffer ()
推薦大家用經過改進後的sp_who3過程可以直接看到進程運行的SQL語句
sp_who3
檢查鎖死用sp_who_lock過程
sp_who_lock
11.收縮資料庫日誌檔的方法
收縮簡單恢復模式資料庫日誌,收縮後@database_name_log的大小單位為M
backup log @database_name with no_log
dbcc shrinkfile (@database_name_log, 5)
12.分析SQL Server SQL 語句的方法:
set statistics time {on | off}
set statistics io {on | off}
圖形方式顯示查詢執行計畫
在查詢分析器->查詢->顯示估計的評估計畫(D)-Ctrl-L 或者點擊工具欄裏的圖形
文本方式顯示查詢執行計畫
set showplan_all {on | off}
set showplan_text { on | off }
set statistics profile { on | off }
13.出現不一致錯誤時,NT事件查看器裏出3624號錯誤,修復資料庫的方法
先注釋掉應用程式裏引用的出現不一致性錯誤的表,然後在備份或其他機器上先恢復然後做修復操作
alter database [@error_database_name] set single_user
修復出現不一致錯誤的表
dbcc checktable('@error_table_name',repair_allow_data_loss)
或者可選擇修復出現不一致錯誤的小型資料庫名
dbcc checkdb('@error_database_name',repair_allow_data_loss)
alter database [@error_database_name] set multi_user
CHECKDB 有3個參數:
repair_allow_data_loss 包括對行和頁進行分配和取消分配以改正分配錯誤、結構行或頁的錯誤,
以及刪除已損壞的文本物件,這些修復可能會導致一些資料丟失。
修復操作可以在用戶事務下完成以允許用戶回滾所做的更改。
如果回滾修復,則資料庫仍會含有錯誤,應該從備份進行恢復。
如果由於所提供修復等級的緣故遺漏某個錯誤的修復,則將遺漏任何取決於該修復的修復。
修復完成後,請備份資料庫。
repair_fast 進行小的、不耗時的修復操作,如修復非聚集索引中的附加鍵。
這些修復可以很快完成,並且不會有丟失資料的危險。
repair_rebuild 執行由 repair_fast 完成的所有修復,包括需要較長時間的修復(如重建索引)。
執行這些修復時不會有丟失資料的危險。
1. 查看資料庫的版本
select @@version
2. 查看資料庫所在機器作業系統參數
exec master..xp_msver
3. 查看資料庫啟動的參數
sp_configure
4. 查看資料庫啟動時間
select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1
查看資料庫伺服器名和實例名
print 'Server Name...............: ' + convert(varchar(30),@@SERVERNAME)
print 'Instance..................: ' + convert(varchar(30),@@SERVICENAME)
5. 查看所有資料庫名稱及大小
sp_helpdb
重命名資料庫用的SQL
sp_renamedb 'old_dbname', 'new_dbname'
6. 查看所有資料庫用戶登錄資訊
sp_helplogins
查看所有資料庫用戶所屬的角色資訊
sp_helpsrvrolemember
修復遷移伺服器時孤立用戶時,可以用的fix_orphan_user腳本或者LoneUser過程
更改某個資料物件的用戶屬主
sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'
注意: 更改物件名的任一部分都可能破壞腳本和存儲過程。
把一台伺服器上的資料庫用戶登錄資訊備份出來可以用add_login_to_aserver腳本
7. 查看鏈結伺服器
sp_helplinkedsrvlogin
查看遠端資料庫用戶登錄資訊
sp_helpremotelogin
8.查看某資料庫下某個資料物件的大小
sp_spaceused @objname
還可以用sp_toptables過程看最大的N(默認為50)個表
查看某資料庫下某個資料物件的索引資訊
sp_helpindex @objname
還可以用SP_NChelpindex過程查看更詳細的索引情況
SP_NChelpindex @objname
clustered索引是把記錄按物理順序排列的,索引占的空間比較少。
對鍵值DML操作十分頻繁的表我建議用非clustered索引和約束,fillfactor參數都用預設值。
查看某資料庫下某個資料物件的的約束資訊
sp_helpconstraint @objname
9.查看資料庫裏所有的存儲過程和函數
use @database_name
sp_stored_procedures
查看存儲過程和函數的源代碼
sp_helptext '@procedure_name'
查看包含某個字串@str的資料物件名稱
select distinct object_name(id) from syscomments where text like '%@str%'
創建加密的存儲過程或函數在AS前面加WITH ENCRYPTION參數
解密加密過的存儲過程和函數可以用sp_decrypt過程
10.查看資料庫裏用戶和進程的資訊
sp_who
查看SQL Server資料庫裏的活動用戶和進程的資訊
sp_who 'active'
查看SQL Server資料庫裏的鎖的情況
sp_lock
進程號1--50是SQL Server系統內部用的,進程號大於50的才是用戶的連接進程.
spid是進程編號,dbid是資料庫編號,objid是資料物件編號
查看進程正在執行的SQL語句
dbcc inputbuffer ()
推薦大家用經過改進後的sp_who3過程可以直接看到進程運行的SQL語句
sp_who3
檢查鎖死用sp_who_lock過程
sp_who_lock
11.收縮資料庫日誌檔的方法
收縮簡單恢復模式資料庫日誌,收縮後@database_name_log的大小單位為M
backup log @database_name with no_log
dbcc shrinkfile (@database_name_log, 5)
12.分析SQL Server SQL 語句的方法:
set statistics time {on | off}
set statistics io {on | off}
圖形方式顯示查詢執行計畫
在查詢分析器->查詢->顯示估計的評估計畫(D)-Ctrl-L 或者點擊工具欄裏的圖形
文本方式顯示查詢執行計畫
set showplan_all {on | off}
set showplan_text { on | off }
set statistics profile { on | off }
13.出現不一致錯誤時,NT事件查看器裏出3624號錯誤,修復資料庫的方法
先注釋掉應用程式裏引用的出現不一致性錯誤的表,然後在備份或其他機器上先恢復然後做修復操作
alter database [@error_database_name] set single_user
修復出現不一致錯誤的表
dbcc checktable('@error_table_name',repair_allow_data_loss)
或者可選擇修復出現不一致錯誤的小型資料庫名
dbcc checkdb('@error_database_name',repair_allow_data_loss)
alter database [@error_database_name] set multi_user
CHECKDB 有3個參數:
repair_allow_data_loss 包括對行和頁進行分配和取消分配以改正分配錯誤、結構行或頁的錯誤,
以及刪除已損壞的文本物件,這些修復可能會導致一些資料丟失。
修復操作可以在用戶事務下完成以允許用戶回滾所做的更改。
如果回滾修復,則資料庫仍會含有錯誤,應該從備份進行恢復。
如果由於所提供修復等級的緣故遺漏某個錯誤的修復,則將遺漏任何取決於該修復的修復。
修復完成後,請備份資料庫。
repair_fast 進行小的、不耗時的修復操作,如修復非聚集索引中的附加鍵。
這些修復可以很快完成,並且不會有丟失資料的危險。
repair_rebuild 執行由 repair_fast 完成的所有修復,包括需要較長時間的修復(如重建索引)。
執行這些修復時不會有丟失資料的危險。
QueryAnalyer 懶人法(4)
依據 QueryAnalyer 懶人法(3) 中提到的方法:
不需要每次啟用該程式時,還要打入 帳號/密碼 等數據資料。
批次檔 (*.bat) 的內容:
isqlw -S SQL Server IP 值 -d DataBase -U UserID -P Password -f sql_file.sql
但運作時,有一缺點,是一定要點擊 執行 鍵,才可以運行 SQL 指令。事後,還要再關閉 QueryAnalyer 窗體。
心中有另一疑問,是不是可以做到,系統直接執行,事後又可以自動關閉 QueryAnalyer 窗體?
Ans: 可以。
isqlw -S SQL Server IP 值 -d DataBase -U UserID -P Password -f sql_file.sql -o log_file.log
另外有一注意事項,*.bat 中,一定要先切換到檔案儲存目錄中,才能正常運作上述的指令。
cd "C:\Documents and Settings\Perton\Favorites\運作監控"
不需要每次啟用該程式時,還要打入 帳號/密碼 等數據資料。
批次檔 (*.bat) 的內容:
isqlw -S SQL Server IP 值 -d DataBase -U UserID -P Password -f sql_file.sql
但運作時,有一缺點,是一定要點擊 執行 鍵,才可以運行 SQL 指令。事後,還要再關閉 QueryAnalyer 窗體。
心中有另一疑問,是不是可以做到,系統直接執行,事後又可以自動關閉 QueryAnalyer 窗體?
Ans: 可以。
isqlw -S SQL Server IP 值 -d DataBase -U UserID -P Password -f sql_file.sql -o log_file.log
另外有一注意事項,*.bat 中,一定要先切換到檔案儲存目錄中,才能正常運作上述的指令。
cd "C:\Documents and Settings\Perton\Favorites\運作監控"
訂閱:
文章 (Atom)