Где я могу использовать утилизировать? VB.Net

0

Может ли кто-нибудь помочь, где я могу применить метод dispose на этом? так что переменная, которую я использую, не будет сохранена в памяти. У меня есть, где я должен положить или когда я должен его использовать.

Я пробовал делать

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
  • 1
    Почему вы пытаетесь избавиться от строки?
  • 0
    Я пытаюсь избавиться от того, что я ввел во все текстовые поля. Вот почему я пытаюсь спросить, есть ли что-то, что мне нужно изменить или сделать, чтобы использовать утилизацию
Показать ещё 3 комментария
Теги:

1 ответ

0

Объекты реализуют интерфейс IDisposable по умолчанию и будут автоматически удаляться, когда Object.Finalize() запускается сборкой мусора.

В вашем вопросе вы пытаетесь уничтожить строку, которая является "технически" объектом, но является объектом, который действует как переменная и не может быть удалён.

Вы можете избавиться от mysqlConn после mysqlConn.close(), если вы хотите освободить память до сбора мусора. sqlCmd также можно утилизировать. В общем, я бы не использовал метод Dispose(), если у вас нет конкретной проблемы (главным образом, ограничения памяти), которую вы пытаетесь решить. .NET runtime отлично справляется с этим.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню