gpt4 book ai didi

mysql - 我可以在哪里使用处置? VB网络

转载 作者:行者123 更新时间:2023-11-29 17:22:55 24 4
gpt4 key购买 nike

任何人都可以帮助我在哪里可以放置处理方法吗?这样我使用的变量就不会保存在内存中。我正在考虑应该把它放在哪里或何时使用它。

我尝试这样做

myQuery.Dispose()

但我认为我做错了。

Private Sub btnRegister_Click(sender As Object, e As EventArgs) Handles btnRegister.Click
mysqlConn.Open()
If TextBox01.Text = "" Or TextBox02.Text = "" Or TextBox04.Text = "" Or TextBox05.Text = "" Or TextBox06.Text = "" Then
MsgBox("Please fill in all boxes")
Exit Sub

Else

sqlCmd = New Odbc.OdbcCommand
sqlCmd.Connection = mysqlConn
sqlCmd.CommandType = CommandType.Text
sqlCmd.CommandText = "select * from tbl_user where username='" & TextBox05.Text & "' Or email='" & TextBox04.Text & "' "
dr = sqlCmd.ExecuteReader

If dr.HasRows Then
MsgBox("Username or Email already Exist", MsgBoxStyle.Critical)
Else

Dim myQuery As String

myQuery = "INSERT INTO tbl_user(firstname, lastname, email, username, password) VALUES ('" & Replace(Trim(TextBox01.Text), "'", "''") & "', '" & Replace(Trim(TextBox02.Text), "'", "''") & "', '" & Replace(Trim(TextBox04.Text), "'", "''") & "', '" & Replace(Trim(TextBox05.Text), "'", "''") & "', '" & Replace(Trim(TextBox06.Text), "'", "''") & "')"


sqlCmd = New Odbc.OdbcCommand
sqlCmd.Connection = mysqlConn
sqlCmd.CommandText = myQuery

dr = sqlCmd.ExecuteReader

MessageBox.Show("You are now register!", "System", MessageBoxButtons.OK)
Me.Hide()
frmMenu.Hide()
frmLogin.Show()

TextBox01.Text = ""
TextBox02.Text = ""
TextBox04.Text = ""
TextBox05.Text = ""
TextBox06.Text = ""
End If
End If
mysqlConn.Close()
End Sub

最佳答案

对象实现 IDisposable interface默认情况下,当 Object.Finalize() 时会自动处置通过垃圾收集来运行。

在您的问题中,您试图处置一个字符串,该字符串“技术上”是一个对象,但它是一个充当变量的对象,并且无法被处置。

如果你想在垃圾收集发生之前释放内存,你可以在 mysqlConn.close() 之后处理 mysqlConn。 sqlCmd 也可以被丢弃。不过,一般来说,除非您有要解决的特定问题(主要是内存限制),否则我不会使用 Dispose() 方法。 .NET 运行时可以很好地为您管理此任务。

关于mysql - 我可以在哪里使用处置? VB网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51154343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com