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 e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

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