簡體   English   中英

點網字符文字

[英]Dot Net character literals

我記得很久以前,當我在.NET中使用字符時。 從SQL數據庫(char字段)獲取的值存儲在點網char變量中,為:“ a”(字符后的一系列空格)。 我的應用程序中的此錯誤導致了問題。

任何人都可以解釋這種情況何時發生,因為我似乎無法重新創建該行為,並且我想避免正在處理的應用程序中的錯誤。

SQL Server中的CHAR數據類型是固定大小的字段。

因此,對於CHAR(2) ,如果僅用單個字符填充,則會添加一個空格作為填充(對於較大的CHAR字段,將添加更多空格)。

從數據庫中讀取時,您還將獲得這些空間。 這不是錯誤。

您應該為數據庫字段使用正確的數據類型-如果您具有可變長度的文本,請使用VARCHAR (或NVARCHAR ),而不是CHAR

這不是錯誤。 SQL中的CHAR是固定長度,並在列定義的長度處填充空格。 通過“ dot net char variable”,我假設您正在談論的是字符串數據類型,而不是實際的char數組。

如果要使用不帶填充的可變長度字符串,請使用VARCHAR或NVARCHAR。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM