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