[英]How to Convert int to byte array and byte array to Int again? (Edit)
[英]How to convert int into Byte Array?
我有一個表,其中有一列名為:
'eZip'(varbinary(5),null)。
現在我正在從這樣的Web表單中添加值:
cmd.Parameters.Add("@eZip", SqlDbType.VarBinary).Value = BitConverter.GetBytes(int.Parse(txtZip.Text.ToString()));
它的工作,但它沒有放一個有效的郵政編碼,而是將其插入我的專欄:
<Binary data>
我在這做錯了什么?
我不認為你本身做錯了什么。 如果將字段定義為varbinary,則無論數據如何,您都將在SQL Server的管理工具中看到“二進制數據”。
你確定你不想只需要CHAR(n)
或VARCHAR(n)
的郵政編碼嗎?
如果您無法更改該列的數據類型,那么您需要做的就是在獲取數據時轉換該值。 根據其他人的建議,您至少應該更改代碼,假設五個字節是字符,而不是整數。
插入值:
cmd.Parameters.Add("@eZip", SqlDbType.VarBinary).Value = System.Text.Encoding.ASCII.GetBytes(txtZip.Text.ToString());
檢索SSMS工具中的值:
SELECT CONVERT(VARCHAR(5), [eZip]) AS [eZip] FROM @zip_table;
從C#中的DataRow dr
中檢索值:
System.Text.Encoding.ASCII.GetString(dr["eZip"]);
如果您可以將列更改為CHAR(5)或VARCHAR(5),則不需要進行轉換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.