Thread Einträge in SQL Datenbank: Testdatei in SQL DB einlesen und aktuali (5 answers)
Opened by Gast at 2006-12-20 13:03

nepos
 2006-12-20 13:21
#35015 #35015
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Also, erstens wuerde ich dir - wie so oft - zum Einsatz von Platzhaltern in den SQL-Befehlen raten. Damit musst du dich selbst nicht mehr um das korrekte Quoting und Escapen von speziellen Zeichen kuemmern.

Zum eigentlichen Problem: Mach dir einen SELECT, mit dem du pruefst, ob die Daten, die du einlesen willst nicht schon in der DB drin sind:
Code (perl): (dl )
1
2
3
4
unless ($dbh->selectrow_array(qq{SELECT * FROM Etikett WHERE Auftrag=? AND Atrikel=? AND Typ=? AND Stueck=?}, undef, $Auftrag, $Artikel, $Typ, $Stueck)) {
$dbh->do(qq{INSERT INTO Etikett (Auftrag,Artikel,Typ,Stueck) VALUES(?,?,?,?)},undef, $Auftrag, $Artikel, $Typ, $Stueck)
  or die "Fehler beim Einfuegen: $DBI::errstr\n";
}

Hier hast du auch gleich mal zwei Beispiele, wie du mit Platzhaltern arbeitest.
Den Code musst du halt eventuell noch an deine Gegebenheiten anpassen, aber ich denke, das Prinzip ist nun klar oder?

PS: Sehe grade, du nutzt Win32::ODBC, von daher musst du halt den SQL-Kram entsprechend anpassen und wie das da mit Platzhaltern ist, weis ich nicht. Sollte damit aber denke ich auch gehen.

View full thread Einträge in SQL Datenbank: Testdatei in SQL DB einlesen und aktuali