Announcement

Collapse
No announcement yet.

The Parameter name specified was invalid for the statement

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • The Parameter name specified was invalid for the statement

    Hallo! Ich bin neu hier im Forum und habe eine Frage an euch! Ich importiere mir aus Outlook die "Kontakte" in meine Anwendung. Nun möchte ich aber auch gleichzeitig, dass sie in eine Datenbank (ADS) geschrieben werden. Vorher hatte ich es mit einer SQL - Datenbank ausprobiert und da hat es geklappt! Beim Versuch mit dem ADS bekomme ich aber folgende Fehlermeldung:

    Error 5111: The Parameter name specified was invalid for the statement.

    Hier mal ein Ausschnitt aus meinem Code:

    Code:
    // Das erst Element bekommen
                oAppt = (MSOutlook.ContactItem)oItems.GetFirst();
    
                // Öffnen der Verbindung
                con.Open();
    
                // durch alle "Kontakte" durchgehen             
                do
                {
    
                    cmd.Connection = con;
    
                    // Erstellt ein neues CommandObjekt
                    cmd = con.CreateCommand();
    
    
                    sql = "INSERT INTO Kontakte (Nachname, Vorname, Straße, PLZ, Ort) VALUES (:Nachname, :Vorname, :Straße, :PLZ, :Ort)";
    
                    cmd.Parameters.Add(":Nachname", "Nachname").Value = oAppt.LastName;
                    cmd.Parameters.Add(":Vorname", "Vorname").Value = oAppt.FirstName;
                    cmd.Parameters.Add(":Straße", "Straße").Value = oAppt.HomeAddressStreet;
                    cmd.Parameters.Add(":PLZ", "PLZ").Value = oAppt.HomeAddressPostalCode;
                    cmd.Parameters.Add(":Ort", "Ort").Value = oAppt.HomeAddressCity;
    
    
                    dsImportItems.Tables[0].Rows.Add(new object[] {
                    oAppt.LastName, oAppt.FirstName, oAppt.HomeAddressStreet,
                    oAppt.HomeAddressPostalCode, oAppt.HomeAddressCity});
    
                    cmd.CommandText = sql;
    
                    try
                    {
                        // Ausführen der SQL-Anweisung
                        cmd.ExecuteNonQuery();
                    }
                    catch (AdsException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
                while ((oAppt = (Outlook.ContactItem)oItems.GetNext()) != null);
    
                // Schließen der Verbindung
                con.Close();
    Meine ADS-Table besteht aus 6 Feldern! Das Erste ist ein "autoinc"-Feld und die restlichen 5 sind alles "character"!

    Für Tipps wäre ich dankbar!

    Gruß
    Corey


    P.S. Ich benutze VS2005 und ADS 8.1

  • #2
    Originally posted by Corey View Post
    cmd.Parameters.Add(":Straße", "Straße").Value = oAppt.HomeAddressStreet;
    Der scheint der Schuldige zu sein. Verwende hier mal eine Schreibweise, welche im angelsächsischen Sprachraum auch zu verstehen ist, zB Strasse.

    Comment


    • #3
      Es hat geklappt!

      Danke!

      Comment

      Working...
      X