説明なし
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

Form1.vb 5.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. Imports System.Data.SqlClient
  2. Imports System.IO
  3. Imports System.Net
  4. Imports System.Text
  5. Public Class Form1
  6. Dim ConString, ConString2, SQL1, SQL2 As String
  7. Dim conn As New SqlConnection : Public conn1 As New SqlConnection : Public cmd As New SqlCommand : Public cmd1 As New SqlCommand
  8. Dim dr As SqlDataReader : Dim da As New SqlDataAdapter
  9. Dim DTP, DTP1, DTP2, DTP3, DTP4, DTP5, DTP6 As String
  10. Friend Sub ConnOpen()
  11. conn.Close() : If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  12. End Sub
  13. Friend Sub CmdSet_For_dr()
  14. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  15. End Sub
  16. Private Sub 分類下拉表單資料載入()
  17. ConnOpen() : SQL1 = "SELECT 客戶 FROM 客戶IP讀取 ORDER BY 客戶" : CmdSet_For_dr()
  18. 客戶_tb.Items.Clear() : While (dr.Read()) : 客戶_tb.Items.Add(dr("客戶")) : End While : conn.Close()
  19. End Sub
  20. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  21. Dim Str As String = Application.StartupPath
  22. If File.Exists(Str + "\LIVE.txt") Then
  23. Dim filereader = My.Computer.FileSystem.OpenTextFileReader(Str + "\LIVE.txt", System.Text.Encoding.Default)
  24. Dim Text As String = "" : Dim line As String = filereader.ReadLine()
  25. While Not (line Is Nothing) : Text = line : line = filereader.ReadLine() : End While : filereader.Close()
  26. 客戶_tb.Text = Strings.Left(Text, 5)
  27. End If
  28. ConString = "Data Source=mssql-147629-0.cloudclusters.net,12711;
  29. Initial Catalog=GCM-IP-DATE02;Persist Security Info=True;User ID=b70340;Password=Lee0911274990;Max pool size = 200;Connection Timeout=0"
  30. Me.Text = "伺服器外網IP查詢 - 未啟動"
  31. End Sub
  32. Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  33. 分類下拉表單資料載入() : 查詢() : 啟動_bt.PerformClick()
  34. End Sub
  35. Private Sub 查詢()
  36. Try
  37. Dim client As New WebClient() ' 使用 WebClient 發送 HTTP GET 請求並獲取響應
  38. Dim response As String = client.DownloadString("https://api.ipify.org") ' 解析響應以獲取外部 IP 地址
  39. Dim externalIP As String = response.Trim() : IP_tb.Text = externalIP ' 將外部 IP 地址顯示在視窗上
  40. Catch ex As Exception : MessageBox.Show("錯誤訊息: 執行外部IP查詢時出現錯誤(" & ex.Message & ")") : End Try
  41. End Sub
  42. Private Sub 啟動_bt_Click(sender As Object, e As EventArgs) Handles 啟動_bt.Click
  43. If 客戶_tb.Text <> "" Then
  44. Dim Strs As String = Application.StartupPath
  45. If File.Exists(Strs + "\LIVE.txt") Then : File.Delete(Strs + "\LIVE.txt") : End If
  46. Dim FilePath As String = Strs + "\LIVE.txt"
  47. Try
  48. Using fs As IO.FileStream = New IO.FileStream(FilePath, FileMode.Append)
  49. Using sw As StreamWriter = New StreamWriter(fs, Encoding.Default)
  50. Dim str As String = 客戶_tb.Text
  51. sw.WriteLine(str) '插入一整行
  52. sw.Flush()
  53. End Using
  54. End Using
  55. Catch ex As Exception
  56. End Try
  57. 查詢() : Me.Text = "伺服器外網IP查詢 - 已啟動"
  58. If 客戶_tb.Text = "" Or IP_tb.Text = "" Then : Else : ConnOpen() : SQL1 = "SELECT 客戶, IP FROM 客戶IP讀取 WHERE 客戶 LIKE N'" & 客戶_tb.Text & "'" : CmdSet_For_dr()
  59. If dr.Read Then
  60. If IP_tb.Text <> dr("IP").ToString Then
  61. ConnOpen() : SQL1 = "UPDATE 客戶IP讀取 SET IP = N'" & IP_tb.Text & "' WHERE 客戶 LIKE N'" & 客戶_tb.Text & "'" : CmdSet_For_dr()
  62. ConnOpen() : SQL1 = "UPDATE 伺服器檢測 SET IP = N'" & IP_tb.Text & "' WHERE 名稱 LIKE N'" & 客戶_tb.Text & "'" : CmdSet_For_dr()
  63. End If
  64. Else : ConnOpen() : SQL1 = "INSERT INTO 客戶IP讀取 (客戶, IP) VALUES (N'" & 客戶_tb.Text & "', N'" & IP_tb.Text & "')" : CmdSet_For_dr() : End If
  65. End If
  66. Timer1.Enabled = True
  67. End If
  68. End Sub
  69. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  70. 查詢() : Me.Text = "伺服器外網IP查詢 - 已啟動"
  71. If 客戶_tb.Text = "" Or IP_tb.Text = "" Then : Else : ConnOpen() : SQL1 = "SELECT 客戶, IP FROM 客戶IP讀取 WHERE 客戶 LIKE N'" & 客戶_tb.Text & "'" : CmdSet_For_dr()
  72. If dr.Read Then
  73. If IP_tb.Text <> dr("IP").ToString Then
  74. ConnOpen() : SQL1 = "UPDATE 客戶IP讀取 SET IP = N'" & IP_tb.Text & "' WHERE 客戶 LIKE N'" & 客戶_tb.Text & "'" : CmdSet_For_dr()
  75. ConnOpen() : SQL1 = "UPDATE 伺服器檢測 SET IP = N'" & IP_tb.Text & "' WHERE 名稱 LIKE N'" & 客戶_tb.Text & "'" : CmdSet_For_dr()
  76. End If
  77. Else : ConnOpen() : SQL1 = "INSERT INTO 客戶IP讀取 (客戶, IP) VALUES (N'" & 客戶_tb.Text & "', N'" & IP_tb.Text & "')" : CmdSet_For_dr() : End If
  78. End If
  79. End Sub
  80. End Class