dies funktioniert:Ich erhalte eine Fehlermeldung SQL-Syntax, wenn Sie diese Abfrage mit
string sqlStr = string.Format("INSERT INTO tblFiles (filename,downloadname,description,category,length,parts,checksum,isEncrypted,uploaderIp) VALUES ('{0}','{1}','{2}','{3}',{4},{5},'{6}',{7},'{8}');",
newFile.Name.Replace("'", "''"), newFile.DownloadName.Replace("'", "''"), newFile.Description, newFile.Category, newFile.Length, newFile.Parts, newFile.Checksum, newFile.IsEncrypted, GetPeerIp());
dies nicht:
string sqlStr = string.Format("INSERT INTO tblFiles (filename,downloadname,description,category,length,parts,checksum,isEncrypted,password,uploaderIp) VALUES ('{0}','{1}','{2}','{3}',{4},{5},'{6}',{7},'{8}','{9}');",
newFile.Name.Replace("'", "''"), newFile.DownloadName.Replace("'", "''"), newFile.Description, newFile.Category, newFile.Length, newFile.Parts, newFile.Checksum, newFile.IsEncrypted, password, GetPeerIp());
Ausnahme erhalte ich:
Ausnahme $ { "Syntax Fehler in INSERT INTO-Anweisung. "} System.Exception {System.Data.OleDb.OleDbException}
meine Datenbank sieht so aus.
Ich konnte nicht irgendein Problem mit ihm finden. Irgendwelche Ideen? Danke
Als allgemeine Regel verwenden Sie immer Befehlsparameter, um bösartige SQL-Injection und andere unerwartete Fehler zu vermeiden. Sie können einige Codierungen für einfache (validierte) Ganzzahlen speichern, aber niemals für vom Benutzer bereitgestellte Daten. – fcm