Usuwanie rekordu z tabeli MySQL za pomocą Visual Basic

W projekcie, który cały czas robię używa się zwykłych poleceń MySQL, z tymże że są one ukryte w kodzie Visual Basic. Zatem jak można usunąć rekord z bazy za pomocą Visual Basic?

UWAGA! Ten post został zamieszczony na mojej starej stronie, która dawno temu padła. Archiwizuje stare artykuły których nie zweryfikowałem, może kiedyś się przydadzą – proszę z rezerwą podchodzić do treści tu zwartych.

Aby usunąć rekord z tabeli MySQL używa się następującego polecenia:

DELETE FROM TableName WHERE DB_ColumnName='YourRecord';

W kodzie poniżej mamy kilka składowych:

  • MySqlConnection – łącze do bazy danych,
  • MySqlDataAdapter – gdzie ukryte jest polecenie MySQL,
  • Try – otwarcie próby wykonania kodu,
  • Exception – wyświetlenie ewentualnych błędów.

Cały kod to połączenia do bazy danych oraz usunięcie rekordu:

Imports MySql.Data.MySqlClient

Public Sub UsunLokacje()
' Usuwanie lokacji z tabeli nazwylokacji MYSQL

Dim dTableCount As Long
Dim dTable1 As New DataTable

'1. Dane do połączenia
'-------------------------------------
Dim conn As MySqlConnection = New MySqlConnection() ' kod wzięty z neta, niestety nie pamiętam strony
conn.ConnectionString = "Data Source=" & fmMain.txtMYSQLpath.Text & "; Database=" & fmMain.txtOPCJEnazwaMYSQL.Text & _
    "; Uid=root; Pwd=" & fmMain.txtOPCJEhasloMYSQL.Text & ";"

Try

    conn.Open() ' otwarcie połączenia

    Try
        ' Sprawdzanie czy jest dany rekord w tabeli
        ' -----------------------------------------
        Dim adapter As MySqlDataAdapter = New MySqlDataAdapter("SELECT * FROM nazwylokacji WHERE Lokacja='" & _
                                         fmMain.txtOPCJETornadoLokacja.Text & "';", conn)

        adapter.Fill (dTable1)
        dTableCount = dTable1.Rows.Count
        
        If dTableCount > 0 Then
            ' Usuwanie rekordu do tabeli MySQl
            ' ---------------------------------
            Dim cmd1 As MySqlCommand = New MySqlCommand("DELETE FROM nazwylokacji WHERE Lokacja='" & _
                                         fmMain.txtOPCJETornadoLokacja.Text & "';", conn)
            cmd1.ExecuteNonQuery() 'usuwanie wartości z MySQL
            cmd1 = Nothing
            conn.Close()
    
            ' Info dla usera, czy udało się usnuąc, czy też nie
            ' -------------------------------------------------
            MsgBox("Usnięcie lokacji '" & fmMain.txtOPCJETornadoLokacja.Text & "' przebiegło prawidłowo.", vbInformation, "Potwierdzenie...")
        Else
            MsgBox("Brak możliwości usnięcia lokacji '" & fmMain.txtOPCJETornadoLokacja.Text & "'.", vbCritical, "Błąd...")
        End If
    Catch ex1 As Exception
        MsgBox("Wystąpił błąd w usunięciu lokacji do bazy danych MySQL. Tabela 'nazwylokacji'." + Chr(10) + Chr(10) + "Kod błedu:" + Chr(10) + ex1.Message, _
       MsgBoxStyle.Critical, "Błąd połączenia z bazą danych...")
    End Try

Catch ex As Exception

    MsgBox("Wystąpił błąd w połączeniu bazą danych MySQL. Tabela 'nazwylokacji'." + Chr(10) + Chr(10) + "Kod błedu:" + Chr(10) + ex.Message, _
        MsgBoxStyle.Critical, "Błąd połączenia z bazą danych...")
    conn.Close()

Finally
    conn.Dispose()
    fmMain.txtOPCJETornadoLokacja.Clear()
    Call modDBgrid.IloscTornado   'tam jest uryte odswiezanie DataGridView
End Try

End Sub

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.