Laden...

Angeblich: Fehler in INSERt INTO Anweisung

Erstellt von housefreak vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.512 Views
H
housefreak Themenstarter:in
238 Beiträge seit 2004
vor 18 Jahren
Angeblich: Fehler in INSERt INTO Anweisung

Hi angeblich hab ich in diesem Code einen Fehler drin:



                string insert = @"INSERT INTO titles (Title, IDArtist, IDAlbum, Genre, Playtime, BPM, Track, Year, Comment, 
                                                      Bitrate, KHz, Filename, Filepath, Filesize, IDMedias, SystemDir) 
                                  VALUES (@Title, @IDArtist, @Album, @Genre, @Playtime, @BPM, @Track, @Year, @Comment,
                                          @Bitrate, @KHz, @Filename, @Filepath, @Filesize, @IDMedias, @SystemDir)";

                OleDbCommand cmd = new OleDbCommand(insert, Accesscon);
                cmd.Parameters.Add("@Title", OleDbType.VarChar).Value = title;
                cmd.Parameters.Add("@IDArtist", OleDbType.Integer).Value = IDArtist;
                cmd.Parameters.Add("@IDAlbum", OleDbType.Integer).Value = IDAlbum;
                cmd.Parameters.Add("@Genre", OleDbType.Integer).Value = genre;
                cmd.Parameters.Add("@Playtime", OleDbType.Double).Value = CalculateLength(finfo.Length, Convert.ToInt32(mp3.mpeg.Bitrate));
                cmd.Parameters.Add("@BPM", OleDbType.Integer).Value = 0;
                cmd.Parameters.Add("@Track", OleDbType.Integer).Value = track;
                cmd.Parameters.Add("@Year", OleDbType.VarChar).Value = tag.Year;
                cmd.Parameters.Add("@Comment", OleDbType.VarChar).Value = comment;
                cmd.Parameters.Add("@Bitrate", OleDbType.Integer).Value = Convert.ToInt32(mp3.mpeg.Bitrate);
                cmd.Parameters.Add("@KHz", OleDbType.Integer).Value = Convert.ToInt32(mp3.mpeg.Frequency);
                cmd.Parameters.Add("@Filename", OleDbType.VarChar).Value = finfo.Name;
                cmd.Parameters.Add("@Filepath", OleDbType.VarChar).Value = finfo.DirectoryName;
                cmd.Parameters.Add("@Filesize", OleDbType.Integer).Value = finfo.Length;
                cmd.Parameters.Add("@IDMedias", OleDbType.Integer).Value = IDMedia;
                cmd.Parameters.Add("@SystemDir", OleDbType.VarChar).Value = GetLabel(finfo);

                try
                {
                    Accesscon.Open();
                    cmd.ExecuteNonQuery();
                    Accesscon.Close();
                    return true;
                }

Und ich hab mitlerweile herausbekomme an welcher stelle es ist und zwar wenn ich Year aus der Liste und aus dem String herausnehme bekomm ich den Fehler nicht weis jemand woran es liegt?

B
189 Beiträge seit 2004
vor 18 Jahren

Ich bezweifle einfach mal ganz stark, dass die Year-Spalte als VARCHAR deklariert wurde, du gibst aber OleDbType.VarChar für den Parameter an.

H
housefreak Themenstarter:in
238 Beiträge seit 2004
vor 18 Jahren

Doch die ist als VarChar deklariert hab das Problem jetzt auch gefunden in Access darf die Spalte anscheinden nicht Year heißen, denn nachdem ich sie umbennant habe funktioniert alles.

Gruß