顯示具有 VB 標籤的文章。 顯示所有文章
顯示具有 VB 標籤的文章。 顯示所有文章

2019年9月19日 星期四

建置專案時發生錯誤 剖析器錯誤 - VS2019 + ASP.NET專題實務(VB範例)

有位讀者安裝 VS2019以後,執行 VB範例(ASP.NET Web Form)均會出現錯誤訊息
例如:剖析器錯誤 或 出現一個蹦現視窗,寫著 "建置專案時發生錯誤......"  

或 "找不到資源"

或 出現 Global.asxa有錯(如下面這一段)....等等
<@ Application codebehind="Global.asax.vb" ....

有幾種解法,問題都是出現在VB語法的範例。 C#就沒有問題。

https://youtu.be/4mGMr3xTQN4




(1) 解決方法如下:

第一,建立一個 ASP.NET (Web Form) VB語法 專案
      (建議使用「空白」專案或網站,比較單純)

第二,在一開始、最單純、什麼都沒有的空白專案中「建置專案」
然後,再來撰寫程式(自己新增一個Web Form網頁)
或  COPY 書本的範例到這個專案、網站

就會正常了.....請看下方的圖片說明

===================================================
(2) 另一種解決方法

我在另一台電腦上,安裝VS 2019(比較新的版本,他常改版更新)
有安裝「網站」套件,請看下面的影片說明。

影片(您安裝時少裝了一個東西,在影片 08:11 的時候有說明)
(如下方圖片說明)

在這個環境中,從頭到尾都沒有問題
所以我猜測,有安裝這套件會比較OK。

===================================================
(3) 讀者的回饋(他的解法)

安裝VS2019的時候,將個別元件中 “所有” .net framework版本選擇安裝,
執行後置碼已不會出現 "建置專案時發生錯誤" 訊息。














2016年12月27日 星期二

撈(展現、查詢)資料時,資料表欄位是「Null」值的處理 -- DBnull / DBNull.Value / IsDBNull()方法

資料庫的某一個欄位,裡面是「Null」值的時候,ASP.NET無法把這樣的 Null值,呈現在畫面上。 
因為ASP.NET不會自動把Null值轉換成一般的字串(String),因此會出現錯誤訊息。




VB語法如下:
特別注意!!
有時候,資料庫的某一個欄位,裡面是「Null」值的時候,ASP.NET無法把這樣的 Null值,呈現在畫面上。因為ASP.NET不會自動把Null值轉換成一般的字串(String),因此會出現錯誤訊息。……關於Null的定義,請參考資料庫的相關書籍。
例如:資料庫裡面,有個欄位test123的值剛剛好是「Null」。
那麼,我們想要把這個欄位呈現在網頁上,下面這行程式碼一定會出錯!
<% Response.Write(dr.Item(“資料表的欄位名稱”)) %>
為了避免這種例外錯誤的產生,在後置程式碼(Code Behind)裡面,我們必須要一個IF判別式來防堵:
IF Not dr.Item(“資料表的欄位名稱”) Is DBNull.Value Then
     ‘--註解:如果 test123欄位的值,不是「Null」的話,才會執行這區。
     Response.Write(dr.Item(“資料表的欄位名稱”))
End IF


相關寫法:Convert.IsDBNull 方法
Convert.IsDBNull( dr("欄位名稱") )    若使用C# 請改成 dr["欄位名稱"]
  
 VB -- DBNull.Value.Equals(value) 
C# -- DBNull.Value.Equals(value)

如果是 C#語法,請使用
if (! DBNull.Value.Equals(dr[“資料表的欄位名稱”]))
{
}  
--------------------------------------------------------------------------------
 如果是用資料繫結運算式,寫在HTML裡面(.aspx檔),請用下列作法:
Convert.IsDBNull(Eval("column"))

或是

Eval("Column").Equals(System.Data.DbNull)
  
相關文章請看:
摘錄: 資料庫的 NULL 值是一個標記,標示說資料庫目前這個欄位是空的,它的本質和空字串也不同,所以用 string.IsNullOrEmpty(myField.Value) 是無法判斷它是否為 NULL 值的,這也就是為什麼 DataRow 要提供一個 IsNull() 方法,而 DataReader 要多一個 IsDBNull() 的方法,就是因為 NULL 值的獨特性。

我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

寫信給我--  mis2000lab (at) yahoo.com.台灣  或是  school (at) mis2000lab.net
................   facebook社團   https://www.facebook.com/mis2000lab   ......................
................   Google+   https://plus.google.com/100202398389206570368/posts ........
................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ

2011年3月4日 星期五

ASP.NET 4.0 專題實務(松崗出版)上/下兩集已經上市!VB/C#雙語法,一應俱全

...... 寄信給我 mis2000lab (at) 雅虎.com.台灣 ......

ASP.NET 4.0 專題實務 ( I )--入門實戰篇(VB / C#)

ASP.NET 4.0 專題實務(I)_VB ASP.NET 4.0 專題實務(I)_C#

(松崗出版,VB版 / C#版)

範例比上一本書增加 166%,內容(頁數)增加 135%

上 / 下兩集 (2010年)已經出版囉 ~ 歡迎到此參加團購(上下兩集合購,免運費)


ASP.NET專題實務( II ) 第二版:範例應用 與 4.0新功能

...... 寄信給我 mis2000lab (at) 雅虎.com.台灣 ........