vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Parameter hat keinen Standardwert 
Autor: Steffan
Datum: 01.01.07 20:31

Hallo zusammen,

ich habe meine CD-Informationen in einem Audio-Archiv organisert, was bisher als Excel-Tabelle vorlag. Jetzt möchte ich das ganze als DB organisieren und habe mir eine Acess-Datenbank erstellt, auf die ich mit VB2005 Express zugreifen will. Mit meinen bescheidenen Programmiererfahrungen stoße ich jetzt allerdings an Grenzen. Im Moment versuche ich den Import hinzubekommen und scheitere hier beim Eintragen in die DB mit der Fehlermeldung "Parameter @Cover hat keinen Standardwert".
Hier die relevanten Code-Ausschnitte:
        Dim insSql As String = "INSERT into DISCS (ArtistID, DiscNr, DiscTitle," & _
          "DiscYear, " & _
            "DiscLength, Genre1ID, Bonus, Video, DiscType, DiscYear2, Copy," & _
            "Preis, Wert, " & _
            "Cover, MP3, country, TOC, Note1) " & _
            "VALUES (@ArtistID, @DiscNr, @DiscTitle, @DiscYear, " & _
            "@DiscLength, @Genre1ID, @Bonus, @Video, @DiscType, @DiscYear2," & _
            "@Copy, @Preis, " & _
            "@Wert, @Cover, @MP3, @country, @TOC, @Note1)"
        Dim insCmd As New OleDbCommand(insSql, con)
 
...
 
        'Parameter für DISCS zurücksetzen und anschließend neu füllen
        With insCmd.Parameters
            .Clear()
            .Add("@ArtistID", OleDbType.Integer, 10).Value = iArtist
            .Add("@DiscNr", OleDbType.Integer, 10).Value = CInt(convertToNum( _
              sField(6)))
            .Add("@DiscTitle", OleDbType.VarChar, 100).Value = sField(2)
            .Add("@DiscYear", OleDbType.SmallInt, 5).Value = CInt(convertToNum( _
              sField(7)))
            .Add("@DiscLength", OleDbType.DBTime).Value = dTimeCD
            .Add("@Genre1ID", OleDbType.Integer, 10).Value = iGenre
            .Add("@Bonus", OleDbType.Boolean).Value = bBonus
            .Add("@Video", OleDbType.Boolean).Value = bCopy
            .Add("@DiscType", OleDbType.Integer, 10).Value = iType
            .Add("@DiscYear2", OleDbType.SmallInt, 5).Value = CInt(convertToNum( _
              sField(8)))
            .Add("@Copy", OleDbType.Boolean).Value = bVideo
            .Add("@Preis", OleDbType.Single, 7).Value = CSng(convertToNum( _
              sField(14)))
            .Add("@Wert", OleDbType.Single, 7).Value = CSng(convertToNum(sField( _
            16)))
            .Add("@Cover", OleDbType.VarChar, 255).Value = sField(15)
            .Add("@MP3", OleDbType.VarChar, 255).Value = sField(17)
            .Add("@country", OleDbType.VarChar, 10).Value = sField(12)
            .Add("@TOC", OleDbType.VarChar, 255).Value = sField(0)
            .Add("@Note1", OleDbType.VarChar, 255).Value = sField(10)
        End With
 
        'in DISCS eintragen 
        Try
            con.Open()
            insCmd.ExecuteNonQuery()
            con.Close()
        Catch ex As Exception
            If MsgBox(ex.Message & vbCrLf & vbCrLf & "Import abbrechen?", _
              MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then _
                con.Close() : importData = False : Exit Function
            con.Close()
        End Try
Auch das explizite Setzen von parameter.isNullable =True hat nichts gebracht.
Für das zugehörige Feld in der DB ist die Eingabe von Null-Werten zulässig.
Kann mir jemand einen Tip geben, woran das liegen kann?

Danke im Vorraus für Eure Tips,
Steffan
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Parameter hat keinen Standardwert2.308Steffan01.01.07 20:31

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel