>>解決「無法施放type'system.dbnull'type'system.String'的物件'」資料庫查詢中的錯誤 >資料庫互動有時可以將「無法施放type'system.dbnull'type'type'system.string'的物件拋出。當試圖將
>資料庫值直接轉換為字串時,就會發生這種情況。這是一個修訂的程式碼片段,展示了一個強大的方法:System.DBNull
)檢查
是否為<code class="language-csharp">public string GetCustomerNumber(Guid id) { object accountNumber = DBSqlHelperFactory.ExecuteScalar(connectionStringSplendidCRM, CommandType.StoredProcedure, "spx_GetCustomerNumber", new SqlParameter("@id", id)); return accountNumber is DBNull ? string.Empty : accountNumber.ToString(); }</code>
安全地將物件轉換為字串。 ?:
accountNumber
對於更通用的解決方案,請考慮使用此通用功能:DBNull
ToString()
這個通用功能處理各種資料型態。 您可以使用類型參數指定目標類型,從而允許安全且類型正確的轉換:
這種方法更乾淨,更可重複使用,而且不容易施放錯誤。 透過實作這些方法,您可以有效地處理
<code class="language-csharp">public static T ConvertFromDBVal<T>(object obj) { if (obj == null || obj == DBNull.Value) { return default(T); // Returns the default value for the specified type } return (T)obj; }</code>
以上是如何避免'無法施放類型'system.dbnull'的對象鍵入'system.string'” c#數據庫查詢中的錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!