2020年5月6日 星期三

Views

MS SQL指令整理

1.charindex(指令字元,目標欄位)

例如:
   
idnamepassword
1AmyA001
2PeterA002
3HappyB001
4MerryB002

當sql 語法為 select * from test2

where charindex('2',password)>0

此時模糊比對的資料就是
idnamepassword
2PeterA002
4MerryB002

*****大小寫沒影響。

2.用charindex(想要比對的欄位,目標欄位),來執行字串比對並創新欄位

資料表是test
id比對地址地址比對後欲創造新欄位
1台中市台中市龍興路10號1
2台北縣(102)台北縣大路里100號1
3桃園縣(102)台北縣大路里100號0
4台南市(102)台北縣大路里100號0
select *,比對後欲創造新欄位=case when charindex([比對地址],[地址])>0 then 1
else 0 end from test


3.移除欄位最後字元可用REPLACE,加上轉型Convert

idkg
1100公斤
4100公斤/人
select convert(float,replace(replace(Gender,'公噸/月',''),'公噸','')) as kg from table

2020年3月16日 星期一

Views

[練習問題] 無法載入檔案或組件'System.Web' 或其相依性的其中之一。試圖載入格式錯誤的程式

  當自己在練習使用C# ASP.NET 中TreeNode類別時,下載組件System.Web.dll放在bin資料夾下,卻發生此問題。

  我以為是我下載網址的組件有問題,因為Nu Gallery已經找不到此組件,所以就到別的網站去下載,不過將錯誤訊息打在google上,有大 大分享說是IIS 應用程式集區預設不支援32位元。好吧!有解法來試試看唄!

  我的錯誤訊息:




    解法:設定IIS讓它啟用32位元的應用程式。

    1.先開啟IIS,在DefaultAppPool按右鍵進階設定。


  2.在(一般)中,啟用32位元應用程式設成True。


   題外話,會使用這個是因為在練習這支影片內容。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~大功告成~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 


2020年2月29日 星期六

Views

Hot Key in VS Code(快捷鍵整理)

1.快速生成html的文件格式:
    (1)先在網頁內輸入驚嘆號!
    (2)然後按下tab鍵
    (3)文件格式已經形成

2.載入CSS檔案
   (1)打上link:css
   (2)然後按下tab鍵
   (3)格式已經形成

3.載入JS檔案
   (1)打上script:src
   (2)然後按下tab鍵
   (3)格式已經形成

4.產生假文字
   (1)打上lorem(可以加上數字) 例如lorem1000
   (2)然後按下tab鍵
   (3)格式已經形成

5.複製想要的行數
   (1)滑鼠移到想要的行斷然後 ctrl+shift
   (2)ctrl+alt+向下鍵(出現光標)
   (3)成功複製

6.在頁面中出現这個詞的不同地方都出現光標
   (1).按ctrl+shift+L

7.重新命名多處變數
   (1).在變數上按f2

8.Ctrl+B 隱藏/顯示 sidebar

9.Ctrl+Shift+F 定義當前目錄下進行搜索

10.Ctrl+Shift+H 搜索/替換

光標
11. Ctrl+Alt+鍵盤下鍵

12.Alt+滑鼠左鍵 (點擊要編輯的位置)

13 Ctrl+D 找到相同字不斷重複按後修改

14.在要複製的語法上按下 Shift+Alt+上下鍵,可以複製該段程式碼片段

15.Ctrl+Shift+K 刪除當前行

16.Shift+Alt+A 進行區塊註解

17.Ctrl+Home 到文件開頭 Ctrl+End 到文件結尾

18.Window +上鍵 視窗放大  Window +下鍵 視窗縮小

19.Ctrl+Shift+N 打開VS Code新窗口

20.Ctrl+Home+F4 關閉當前文件


影片分享 1.

2020年2月28日 星期五

Views

Hot Key in Visual Studio 2017(快捷鍵整理)

累積知識滴水成石-記住快捷鍵讓編程更有效率

C#和MVC部分


1.打完prop按下tab鍵
   可以跳出public int MyProperty{get;set;}

2.打完mvcaction4按下tab鍵
   可以跳出
    Public ActionResult Action()
    {
          return View();
    }

3.打完mvcpostaction4按下tab鍵
    [HttpPost]
    Public ActionResult Action()
    {
          return View();
    }

2020年2月1日 星期六

Views

[開發問題] 'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上


    最近開發.NET Webform ImportExcel遇到如題的問題,為了解決這個問題,大概撞了四天牆。謝天謝地!我還是透過網路上分享的資訊,撞破這道牆,還是得紀錄下來,不然很快又忘記了。

問題解決過程:

(1)為什麼一直出現這個問題?
 網路上有一面倒的資訊是說,連線字串錯誤,確實我自己也是因為連線字串DataSource路徑出錯,不過網路上的網友比較沒提到這塊,每個人犯錯地方不一樣就東試試西試試這樣,以上題供正確寫法,大家在參考看看
/*取得EXCEL上傳的路徑*/
   string _conn = "Provider=Microsoft.ACE.OLEDB.12.0;"
                  + "Extended Properties='Excel 12.0;HDR=NO;IMEX=1';"  
                  + "Data Source=D:\\Demo\\test.xlsx";//每個人不一樣                       
                 
HDR ( HeaDer Row )若指定值為 Yes,代表 Excel 檔中的工作表第一列是欄位名稱,若指定值為 No,代表 Excel 檔中的工作表第一列就是資料了,沒有欄位名稱。

IMEX 有三種模式,分別讀寫行為也不同。
0 is Export mode
1 is Import mode

Extended Properties='Excel 12.0'這個是固定寫法,不要隨便改變,我當初還想說是不是Excel對應版本不同,所以這邊寫法要變,錯錯錯!!!!!
目前Excel 2007~2016都是寫這個啊!不要亂改。

(2)連線字串改過後為什麼還是錯?
 網路上還有一說法,就是windows灌的版本不同,和office版本不同才會出現問題,確實這個也是影響點(但是目前電腦都是64位元,所以只要知道自己office的版本,灌對應套件就可以解決問題了,網路舊資訊寫得太模糊了)。
先檢查作業系統我的是 windows 10 和 office 2016 32位元(我一直以為是64位元),導致我在灌Microsoft Access Database Engine 2010 可轉散發套件選64位元還是一直出錯。因為網路很多資訊都是片段,我東試試西試試也還是試不出來。
目前資訊如下(以我的作業環境解釋):
如果Provider=Microsoft.ACE.OLEDB.12.0 就要灌Microsoft Access Database Engine 2010 32位元版本
如果Provider=Microsoft.ACE.OLEDB.15.0 就要灌Microsoft Access 2013 Runtime 32位元版本,取決連線字串的寫法,去對應你要灌什麼軟體。基本上都可以打開xlsx檔案(目前我的office 2016測試過都沒問題)。

(3)綜合上述
1.出錯先檢查作業系統和office版本,去找office版本對應的套件如(2)所述
2.檢查連線字串每一個寫法,確保正確性,不然還是會出現如題的錯誤。
3.會記錄這篇原因:目前網路上解決資訊都太舊了,我相信這個老掉牙問題,還是會卡住新手的。
4.如果有路過的民眾參考了我的作法,可以留言給我,看看是否有成功解決問題,或是我有寫錯地方都可以跟我分享。

2019年12月9日 星期一

Views

[開發問題] C# 正則表達式的用法

1.何謂正則表達式
  http://www1.nttu.edu.tw/klou/course/921/js/09-regular.htm

2. 程式碼練習
 
using System;

     using System.Text.RegularExpressions;     

     public class Program

    {
       public static void Main()

      {

         string input = "%abqw-_1";
         string pattern = @"^[a-z0-9-_%]*$";(表示開頭(^)到結尾($)可以是比對到多次的a-z或0-9或一槓(-)或底線(_)
         或百分比(%))

          foreach (Match match in Regex.Matches(input, pattern))

           Console.WriteLine(match.Value);  

       }

    }

3. 練習教程
  https://www.runoob.com/csharp/csharp-regular-expressions.html