Это не работает, потому что поплавок по своей сути является неточным. Фактическое значение, вероятно, похоже на «101.3100000000001». Сначала вы можете использовать ROUND () для округления до 2-х мест или лучше использовать тип DECIMAL вместо float.
Я не верю, что захват ip может выполняться локально без библиотеки, но если вы не возражаете против вызова API, вы можете использовать ip-api.com
'Query location data
Dim Req As HttpWebRequest
Dim Ret As HttpWebResponse = Nothing
Dim SR As StreamReader
Req = DirectCast(WebRequest.Create("http://ip-api.com/json"), HttpWebRequest)
Ret = DirectCast(Req.GetResponse(), HttpWebResponse)
SR = New StreamReader(Ret.GetResponseStream())
Dim Raw As String = Nothing
Raw = SR.ReadToEnd()
Dim JavaScriptSerialization As New JavaScriptSerializer()
Dim ipdata_object As New IPData()
ipdata_object = JavaScriptSerialization.Deserialize(Raw, ipdata_object.GetType)
dim ip_address as string = ipdata_object.query.tostring()
IPData Class
[111 ]Что касается ведения журнала, в зависимости от того, что вы хотите использовать, Mysql, CSV, Flatfile и т. Д.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'SAVE FUNCTION
Dim LogString as String = "User " + Username + " Attempted to login from " + ip_address + " Successfully/Failed"
My.Computer.FileSystem.WriteAllText("C://testfile.txt", inputString, True)
End Sub