跳到主要內容

發表文章

目前顯示的是 2022的文章

Windows 看不到某些在Mac / Linux 在 ExFat 複製的目錄/檔案

 為了方便在 Windows / Mac / Linux 上交換檔案,把一個 2TB 的行動硬碟格式化成 ExFat ,結果利用  Mac 複製資料後,居然在 Windows 上看不到大部份的目錄。 確定硬碟Partition沒問題,再拔回 Mac 上去看,檔案仍然都在。 只有搜尋一下,發現 ask ubuntu 上有類似的問題 ,所以照其中一位大大的做法,在某一個 Windows 看不到的目錄下 touch a.txt ,再拔到 Windows 上就可以正常顯示,收工。

Internet Explorer 更新後無法瀏覽某些網站

 才剛修好 被強迫改用Edge 的問題,馬上又遇到更奇怪的問題。

Internet Explorer 被強迫導向到 Microsoft Edge

 上星期的Windows更新之後,公司內許多同仁反連不上老舊系統。查了之後發現被重新導向到 Microsoft Edge。

C# 找出臺灣農曆日期對應的西元日期

收到一個需求,要在前一年底將隔年全年的放假日存入資料庫,原本想用政府資料開放平臺的 中華民國政府行政機關辦公日曆表 ,看了一下格式常在改,命名規則也一直變動,因為我不想常維護這程式,俗話說,隔3年後,你寫的程式就變成別人寫的,自己也看不懂;所以放棄自動匯入一途,改為由程式產生預設假日。

SQL Server 使用者定義的資料表錯誤 User-Defined Table Type Error

最近有個新專案,由於資料表的欄位很多,還要Call Stored Procedure,所以請DBA將資料表做成User-Defined Table Type,沒想到我呼叫Stored Procedure更新時發生一個錯誤:    將 nvarchar 資料類型轉換成 datetime 資料類型時,產生超出範圍的值。 資料表值參數 "@MyUDT" 的資料不符合參數的資料表類型。SQL Server 錯誤為: 242,狀態: 3 陳述式已經結束。   使用User-Defined Table Type(以下簡稱UDT)做為參數非常簡單大概就是 SqlParameter parameter = new SqlParameter("@MyUDT", SqlDbType.Structured); parameter.Value = dataTable; 乍看之下會以為是資料內容錯誤,但這次我的內容人工出對後完全沒錯,欄位名稱也對。經過一天一夜的試誤,終於發現問題出在: 欄位順序 ! 以前我自己寫ADO.Net呼叫時,都會利用資料表先做出一個XML Schema(xsd),利用DataTable.ReadXmlSchema 產生結構,這樣Data Table裡的欄位順序絕對不會錯;而這次首度使用 List to DataTable 的公用程式自動產生DataTable,不用另外去產生XSD,整個程式變很順,不需要一個一個欄位塞值。 以上提供也使用UDT 做為SqlParameter的朋友參考。 後記:最近在測試時又發生過一次錯誤,是UDT屬性裡某個Not Null的欄位在DataTable裡缺值為null,也會造成呼叫UDT時錯誤。

vite編譯typescript時發生錯誤 Property 'xxx' does not exist on type

從vue/cli改為vite時,首先遇到 Property 'xxx' does not exist on type ,這種很鳥的錯誤,不知道為什麼沒找到很好的解法,但我就先把package.json裡的 "build": "vue-tsc --noEmit  && vite build" 直接改成  "build": "vite build" ,等正式發行 vite 3.0時應該這些設定檔都會校調好吧?

Vue 3 出現 error Component name "About" should always be multi-word

使用新版(2021年底到2022年初)的Vue 3樣板時,會出現很多奇怪的錯誤,我又遇到一個:error  Component name "XXX" should always be multi-word 。 查了原廠手冊,發現是 Vue Style Guide  裡有提到要使用 Multi-word component names ,可是我抓 Vue Mastery的 Github 範例 也有使用 Single word component name 耶! 無論如何,總是要讓現有的程式能夠成功編譯,查到是在eslint-plugin-vue 裡檢查的,所以只要改 .eslintrc.js ,加上  rules: {    "vue/multi-word-component-names": "off" }, 就可以忽視這個規則,成功編譯。

Vue 3 使用 script setup 時出現 defineEmits is not defined與 defineProps is not defined 錯誤

當使用<script setup> 語法撰寫時,若出現 defineEmits is not defined 或 defineProps is not defined 時,不一定是真的錯,很可能只是eslint檢查出錯。 解決方法:  加上import { defineEmits, defineProps } from "vue";  直接在 .eslintrc.js 加上 env: { "vue/setup-compiler-macros": true }, ,就不必在每個vue檔裡加入上述引用