2012年5月29日 星期二

Sql Insert使用ExecuteScalar 方法 避免資料重複


做會員總數或註冊流水號的查詢
在ADO.NET中可以使用ExecuteScalar函數
來查出資料庫中剛註冊會員的流水號(假設名稱是IdNumber),將他設置成主鍵
並且自動增號
在我插入新增資料後接著ExecuteNonQuery再做ExecuteScalar
資料發生重複(插入)輸入的情況。當然重複的資料鍵值不同ExecuteScalar所找到的是第二次重複資料的流水號。目前還沒找到為甚麼會複製的資料。可能是自動增號的關係?
解決方法
1)
ExecuteNonQuery
select @@identity
ExecuteScalar
2)
Insert into tablename output inserted.IdNumber ....
ExecuteScalar


以上非完整code
就不會有重複資料了


參考閱讀(簡體)
http://www.bitscn.com/pdb/dotnet/200807/145550.html
http://www.w17x.com/AritcleDisplay.aspx?id=519

2012年5月23日 星期三

ADO dot NET 連結 VC內建MDF



用Visual Studio 來寫SQL,偵錯時一直沒成功,後來發現是我的Instance名稱不對
下面是很多前輩實行成功的code ! 別忘了用using來進行資源釋放
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
            if (dataDir.EndsWith(@"\bin\Debug\")
                || dataDir.EndsWith(@"\bin\Release\"))
            {
                dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
                AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
            }
         
            SqlConnection conn = new SqlConnection(@"Data Source=.\
SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True");

備註:紅色是Instance名 ;藍色是資料表名稱

2012年5月11日 星期五

有些網站會要求存取您的「Google 帳戶」,您無意間授權多少網站呢??



如同頁面所說
Google 允許您與第三方網站分享您的 Google 帳戶資訊,而不會洩漏您的使用者名稱和密碼。
您可以透過「Google 帳戶」與另一網站分享的資訊有:
  • 電子郵件地址
  • 姓名
  • 國家/地區和語言
  • 瀏覽您的 Google 產品資訊,例如您的 Gmail 聯絡人、Google 日曆或 Picasa 網路相簿。
如果是您是個注重隱私的使用者,登入「Google 帳戶」首頁,在帳號總覽下,編輯授權應用程式和網站能知道那些是您授權可存取您 Google 帳戶資料的網站或是無意間所授權的















2012年5月7日 星期一

修改登錄值強化SSD加速Windows 7效能幾個小步驟

網上有很多說明與解釋的部分了,如果想知道原因請自行搜索
這邊蒐集網上一些資料也是我自己用到的設定,並快速說明

順便筆記一下也提供網友參考,但是修改登錄值都有一定的風險
請自行斟酌是否進行設定
說明一下我的平台是Win x64配上SSD

  1. AHCI: 執行 regedit
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci
    start預設值改為0
    在進BIOS開啟
    AHCI
  2. 開啟trim: 執行 CMD
    鍵入
    fsutil behavior set disabledeletenotify 0
    檢查是否有無開啟小工具 DriveControllerInfo ,顯示Enable即是
    或fsutil behavior query disabledeletenotify (1是關閉0為開啟)
















3. ReadyBoot
    控制台>系統管理工具>資料搜集器集合工具 --> 啟動事件追蹤工具階段 -->  ReadyBoot
 "追蹤工具階段" :停用

4.TimeStampInterval
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability
TimeStampInterval預設值 1 改為 0

5.PagingExecutive
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
DisablePagingExecutive 預設值 0 改為 1

6.執行msconfig>開機:最大核心與最大記憶體開機、無GUI開機(跳過四球組成windows圖案畫面)

7.Windows Customer Experience Improvement Program(CEIP)
    a.停用CEIP
執行 gpedit.msc 本機原則有電腦和使用者設定:
系統管理範本 -> 系統 -> 網際網絡通訊管理 -> 網際網絡通訊設定  "關閉 Windows 客戶經驗改進計劃" 右鍵編輯選項內 "已啟用"
    b.執行 taskschd.msc 工作排程器程式庫 -> Microsoft -> Windows -> Customer Experience Improvement Program 左鍵停用全部排程
    c.執行 taskschd.msc 工作排程器程式庫 -> Microsoft -> Windows -> RAC 左鍵停用全部排程


8.停止 Superfetch 服務:
    執行 services.msc , 找到Superfetch 服務 將"手動" 改為 "停止",亦會同值停止了 Prefetch 及 ReadyBoost

9.SSD停用磁碟重組排程

10.轉移暫存檔案
系統內容>進階>環境變數

11.分頁檔轉移至別槽可延長SSD壽命(可能降低OS效能)**
系統內容>進階> 效能設定>進階>虛擬記憶體

12.其他關閉IPv6、停用休眠,以及轉移使用者設定可自行前往參考

2012年5月3日 星期四

Norton ConnectSafe (norton dns)遠離不安全和令人討厭的網站



Norton ConnectSafe (norton dns)遠離不安全和令人討厭的網站,不用安裝額外的軟體。
並在站在第一線幫你封鎖不安全的網站內容,Norton ConnectSafe並不能完全取代您電腦的網路安全套裝軟體(如卡巴斯基/EAST NOD),但能在瀏覽網頁時提供安全並過濾不信任的網站內容。

官方網頁:https://dns.norton.com/dnsweb/homePage.do
說明:有家庭用戶(完全免費)和商業用戶之分
如何開始使用?
STEP1
STEP2:如果家裡沒有路由器就選第二個選項,選擇第一個是在使用路由器的情況下能一次幫你網路中的電腦使用NORTON DNS防護
STEP2:接著會看到有三種方案
A過濾掉含有惡意軟體,網路釣魚的網站
B過濾掉色情內容的網站在加上A的方案
C提供過濾一些包含暴力/自殺/墮胎/藥物濫用/賭博性的網站對於家中有小孩是不錯選擇方案並在加上A/B的過濾內容

STEP3:怎麼使用?(以windows 7為例)
1開啟網路共用中心
2檢視作用中的網路
3選擇區域連線->內容->選擇網際網路通訊協定第四版(TCP/IPv4) ->內容
在DNS部分輸入步驟二方案提供的IP位址
STEP4:怎麼看有沒有啟用?
1重新連線
如果出現

"Your computer is currently using Norton DNS."

便是設定成功
STEP5:Norton DNS速度會不會很慢?
DNS Benchmark來看跟Google Public DNS不相上下