使用ASP.Net應用程序使用SQLDataReader從SQL數據庫中獲取IPv4信息。從SQL讀取IP時,數據類型是二進制的,我不確定處理這種情況的最佳方法。使用SQLDataReader讀取IP地址
由於沒有方法SQLDataReader.GetIPAddress()似乎我需要使用SQLDataReader.GetBytes()?許多關於如何做到這一點的例子,但是因爲getstring非常簡單,我希望有另一種更簡單的方法來使用getbyte()或其他方法來引入IP。
Do While SQLReader.Read()
Dim lastcom As System.DateTime = SQLReader.GetDateTime(0)
Debug.WriteLine(lastcom.ToString("MM/dd/yyyy HH:mm:ss.fff"))
Debug.WriteLine(SQLReader.GetString(1))
Debug.WriteLine(SQLReader.GetBoolean(2))
Debug.WriteLine(SQLReader.GetString(3))
Debug.WriteLine(SQLReader.GetString(4))
Label_IP = SQLReader.GetString(1)
Label_Model.Text = SQLReader.GetString(4)
Loop
你試圖轉換此到C#?什麼是IP存儲在數據庫中,我假設它將被存儲爲'String',例如'varchar'或'nvarchar'。 – Greg
沒有必要轉換爲C#..我通常在vb.net寫.. Getstring失敗說「無法投入類型'System.Byte []'的對象鍵入'System.String'。」 GetDataTypeName返回列的二進制值,但在數據庫中,該列僅包含格式類似於xx.xx.xx.xx的實際ipv4地址。 – jewbacca
我拒絕編寫Visual Basic,但是以'byte []'的形式檢索,而在C#中,您只需執行:'System.Text.Encoding.GetString(...)'。因此,將byte []從字節數據轉換回字符串值。 – Greg