Datenbank Access Fehler (Zu viele Argumente...)

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Datenbank Access Fehler (Zu viele Argumente...)

    Hallo und Guten Tag!

    Ich programmiere gerade in Visual Basic 2008 eine Kundendatenbank.
    Die Objekte, die ich speichern möchte, sind:

    - Kundennr.
    - Vorname
    - Nachname
    - Titel
    - Telefon
    - Straße
    - Nr.
    - PLZ
    - Ort
    - E-Mail

    Ich speichere über eine Microsoft-Access Datenbank.
    Der Code, den ich zum speichern benutze, ist folgender:

    VB.NET-Quellcode

    1. Form2.KundenTabelle1TableAdapter.Insert(Me.IDTextBox.Text, Me.VornameTextBox.Text, Me.NachnameTextBox.Text, _
    2. Me.TitelTextBox.Text, Me.TelefonTextBox.Text, Me.StraßeTextBox.Text, _
    3. Me.NrTextBox.Text, Me.PLZTextBox.Text, Me.OrtTextBox.Text, _
    4. Me.EMailTextBox.Text)
    5. Form2.KundenTabelle1TableAdapter.Fill(Form2.KundenDataSet.KundenTabelle1)
    6. MsgBox("Die Daten wurden erfolgreich geändert!", MsgBoxStyle.Information, "Kundenverwaltung | Kunden")
    7. IDTextBox.Text = ""
    8. VornameTextBox.Text = ""
    9. NachnameTextBox.Text = ""
    10. TitelTextBox.Text = ""
    11. TelefonTextBox.Text = ""
    12. StraßeTextBox.Text = ""
    13. NrTextBox.Text = ""
    14. PLZTextBox.Text = ""
    15. OrtTextBox.Text = ""
    16. EMailTextBox.Text = ""


    Jetzt unterstreicht er jedoch [...] Me.EMailTextBox.Text [...] blau und bringt mir den folgenden Fehler:

    Fehler 2 Zu viele Argumente für "Public Overridable Overloads Function Insert(Vorname As String, Nachname As String, Titel As String, Telefon As String, Straße As String, Nr As String, PLZ As String, Ort As String, EMail As String) As Integer".

    Die Microsoft - Hilfe ist wenig Hilfreich, sie sagt einfach, dass man das entsprechende Element (in dem Fall EMailTextBox) entfernen soll. Das will ich aber nicht!

    Es wäre sehr hilfreich, wenn jemand eine Lösung hat!
    Danke schon mal im Voraus und Grüße aus Ulm!
    Das bedeutet das zB

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    3. x("!", "J", "HI")
    4. End Sub
    5. Public Function x(ByVal x1 As String, ByVal y As String) As Integer
    6. Try
    7. Return 1
    8. Catch
    9. Return 0
    10. End Try
    11. End Function
    12. End Class


    Wenn also nur 2 Argumente möglich sind, man aber 3 angibt...

    Deshalb wird x>2 blau angestrichen...

    Mfg.eniking1998
    Das Projekt lade ich nur ungern öffentlich hoch.

    Der Fehlercode von VB ist "BC30057".

    Mit folgendem Code lade ich in die Form und spreche den Binding Navigator zwischen TextBox und Access-Datenbank an:

    VB.NET-Quellcode

    1. Private Sub KundenTabelle1BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    2. Me.Validate()
    3. Me.KundenTabelle1BindingSource.EndEdit()
    4. Me.TableAdapterManager.UpdateAll(Me.KundenDataSet)
    5. End Sub
    6. Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    7. 'TODO: Diese Codezeile lädt Daten in die Tabelle "KundenDataSet.KundenTabelle1". Sie können sie bei Bedarf verschieben oder entfernen.
    8. Me.KundenTabelle1TableAdapter.Fill(Me.KundenDataSet.KundenTabelle1)
    9. End Sub



    Weiß jemand eine Lösung?
    na, lies die Fehlermeldung.
    Da steht doch, dass du der Insert-Methode zuviele Argumente übergibst, und da steht auch, welche Argumente sie haben will.
    Und du gibst ihr halt eins zuviel, das wirst du doch korrigieren können, oder weißt du nicht, was ein Argument ist?




    Dringend empfehle ich dir, die Finger von richtigen Datenbanken zu lassen, und erstmal die Prinzipien von Datenmodellierung zu erlernen - die relationale GrundIdee

    Das entwickelste am besten erstmal ohne Datenbank - gugge Datenbänkerei-Einstieg und weiterführende Links.
    Weil selbst wennde die aktuelle Hürde nimmst - im weiteren Verlauf wirst du dein Datenmodell sicherlich mehrmal modifizieren müssen, und da willst du nicht jedesmal eine neue Datenbank aufsetzen.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ErfinderDesRades“ ()

    Hallo,

    Danke für die Links! Ich werde sie mir gerne anschauen.

    Jedoch komme ich mit deinem Ansatz (dass der Aufruf zu viele Argumente hat) nicht so zurecht. Ich bin auf keine Lösung gekommen ...
    Hättest du mir noch einen Denkansatz? :)
    Dazu braucher keine DatenbankDefinition anzugugge (da steht das ja auch garnet), sondern das steht ganz konkret in der Fehlermeldung.

    HM-Engines schrieb:

    Jedoch komme ich mit deinem Ansatz (dass der Aufruf zu viele Argumente hat) nicht so zurecht.
    Das kannichnicht fassen. Zähl doch einfach die Argumente, die die Methode erwartet (sind ja inne Fehlermeldung aufgeführt), und zähl die Argumente, die du übergibst.
    Was kann man damit nicht zurecht kommen - kannst du nicht zählen?