Hallo,
ich möchte eine einzelne Zeile aus der Datenbank mithilfe einer einfachen mysql Stored Procedure löschen, aber bekomme jedes mal die Fehlermeldung im Topic.
Eigentlich sollte mein Quellcode richtig sein. Zumindest nach dem, was ich bisher so an Beispielen gesehen habe. Außerdem macht die Fehlermeldung kaum Sinn. Wofür brauch ich denn bitte einen DataReader beim Löschen einer Zeile in der Datenbank?
Hier der Quellcode auf Clienseite:
Und die Stored Procedure:
Wenn ich die SQL-Abfrage direkt im DBMS ausführe läuft alles. Zumindest wenn ich SQL_SAFE_UPDATES auf 0 setze. Deshalb ist das auch in der Stored Procedure selber drin. Bringen tut es mir aber überhaupt nichts. Die Fehlermeldung kommt noch immer.
Wäre nett, wenn mir wer nen Tipp geben könnte. Habe absolut keine Ahnung was ich falsch mache.
Danke
ich möchte eine einzelne Zeile aus der Datenbank mithilfe einer einfachen mysql Stored Procedure löschen, aber bekomme jedes mal die Fehlermeldung im Topic.
Eigentlich sollte mein Quellcode richtig sein. Zumindest nach dem, was ich bisher so an Beispielen gesehen habe. Außerdem macht die Fehlermeldung kaum Sinn. Wofür brauch ich denn bitte einen DataReader beim Löschen einer Zeile in der Datenbank?
Hier der Quellcode auf Clienseite:
Code:
Private Sub deleteLinkRelation(ByVal source As String, ByVal target As String, ByVal link_type As String) Try Dim link_id = getLinkID(link_type) dt.Clear() con = New MySqlConnection(myCon.getConStr) cmd = New MySqlCommand cmd.Connection = con cmd.CommandText = "otrs.deleteLinkRelation" cmd.Parameters.AddWithValue("source", source) cmd.Parameters.AddWithValue("target", target) cmd.Parameters.AddWithValue("link_id", link_id) cmd.Connection = con con.Open() cmd.ExecuteNonQuery() con.Close() Catch ex As Exception MessageBox.Show(ex.ToString) End Try End Sub
Code:
-- -------------------------------------------------------------------------------- -- Routine DDL -- Note: comments before and after the routine body will not be stored by the server -- -------------------------------------------------------------------------------- DELIMITER $$ CREATE DEFINER=`otrs`@`%` PROCEDURE `deleteLinkRelation`(IN source varchar(30), IN target varchar(30), In link_id varchar(10)) BEGIN SET SQL_SAFE_UPDATES = 0; DELETE FROM otrs.link_relation WHERE source_key = source AND target_key = target AND type_id = link_id; END
Wäre nett, wenn mir wer nen Tipp geben könnte. Habe absolut keine Ahnung was ich falsch mache.
Danke