Datensatz in MSQLserver 7 updaten
Andy
- asp.net
0 Holger Lersch0 Stefan Falz0 Andy
0 Stefan Falz
Hallo!
ich moechte einen Datensatz in einer DB auf dem SQlserver 7 updaten.
Bloss wie mache ich das. Ich habe schon alle moeglichkeiten ausgeschoepft und es geht nicht.
Momentaner Quellcode
set datconn2 = server.CreateObject("ADODB.Connection")
set RS2 = server.CreateObject("ADODB.Recordset")
on error resume next
'----------------------------
'Datenbankverbindung oeffnen
'----------------------------
datconn2.Open "DSN=DB;UID=test;PWD="
selec = "select * from testtabelle where BNnummer='" & BNnummer & "'"
RS2.Open selec ,datconn2 ,adOpenKeyset ,adLockOptimistic
RS2.Fields("LInummer") = LInummer
RS2.Update
Kann mir da einer weiterhelfen.
Gruss
Andy
Hallo Andy,
soso, updaten willst du ;-)
selec = "select * from testtabelle where BNnummer='" & BNnummer & "'"
warum benutzt du dann SELECT und nicht UPDATE als SQL Befehl ?
mit SELECT kann man nur Daten aus einer DB auslesen, um etwas in die Datenbank zu schreiben muss man ...
INSERT fuer einen komplett neuen Datensatz verwenden, oder eben
UPDATE um einen Teil eines bestehenden Datensatzes zu veraendern.
Kurz zur Anwendung des UPDATE SQL-Statements :
allgemein :
UPDATE <TABELLENNAME> SET <SPALTENNAME>=<WERT> WHERE <SPALTE>=<BEDINGUNG>
auf dein Problem sollte folgendes passen :
sql = "UPDATE testtabelle SET BNnummer='" & BNnummer & "' WHERE LInummer=" & LInummer
RS2.Open sql ,datconn2 ,adOpenKeyset ,adLockOptimistic
ich hoffe du kommst damit schomal weiter, und hast den Unterschied zwischen UPDATE und SELECT verstanden ;-)
Gruss
Holger
Hallo Holger,
Hallo Andy,
soso, updaten willst du ;-)
selec = "select * from testtabelle where BNnummer='" & BNnummer & "'"
warum benutzt du dann SELECT und nicht UPDATE als SQL Befehl ?mit SELECT kann man nur Daten aus einer DB auslesen, um etwas in die Datenbank zu schreiben muss man ...
INSERT fuer einen komplett neuen Datensatz verwenden, oder eben
UPDATE um einen Teil eines bestehenden Datensatzes zu veraendern.
[...]
ADO kann Datensätze eines Recordsets (die mit SELECT ausgelesen wurden)
auch ändern. Die Vorgehensweise von Andy war daher schon richtig.
[...]
sql = "UPDATE testtabelle SET BNnummer='" & BNnummer & "' WHERE LInummer=" & LInummer
RS2.Open sql ,datconn2 ,adOpenKeyset ,adLockOptimistic
[...]
Hierzu noch ein Hinweis: http://www.aspfaq.de/faq/index.asp?FID=4&ELE=354
Tschau, Stefan
Hi Stefan,
ADO kann Datensätze eines Recordsets (die mit SELECT ausgelesen wurden)
auch ändern. Die Vorgehensweise von Andy war daher schon richtig.
Ups, das wusste ich nicht, aber irgendwie wird der Code bestimmt lesbarer wenn ich ein Update auch mit einem UPDATE mache ...
Hierzu noch ein Hinweis: http://www.aspfaq.de/faq/index.asp?FID=4&ELE=354
Tststs, da verweise ich alle Nase lang auf deine ASP-FAQ Seiten, und hab' sie selber noch nicht ganz durchgelesen. Asche ueber mein Haupt !
Gruesse
Holger
Hi Holger!
die Idee hatte ich auch schon, bloss dies funktioniert
auch nicht. Wie gesagt alle erdenklichen Moeglichkeiten habe
ich schon ausgeschoepft.
Vielleicht hast du noch eine andere Moeglichkeit.
Trotzdem danke
Gruss
Andy
Hallo Andy,
[...]
ich moechte einen Datensatz in einer DB auf dem SQlserver 7 updaten.
Bloss wie mache ich das. Ich habe schon alle moeglichkeiten ausgeschoepft und es geht nicht.
[...]
kommt eine Fehlermeldung ? Wenn ja, welche?
Was passiert, wenn keine Fehlermeldung kommt?
'----------------------------
'Datenbankverbindung oeffnen
'----------------------------
datconn2.Open "DSN=DB;UID=test;PWD="
das würde ich so machen:
datconn2.Open "DB", "test", "<pwd>"
selec = "select * from testtabelle where BNnummer='" & BNnummer & "'"
RS2.Open selec ,datconn2 ,adOpenKeyset ,adLockOptimisticRS2.Fields("LInummer") = LInummer
RS2.Update
[...]
Sieht doch gut aus. Sollte eigentlich funktionieren (Wenn LINummer kein Autowert ist)
Ungeachtet dessen ist die von Holger beschriebene Vorgehensweise,
das Update per SQL-Statement durchzuführen, trotzdem besser.
Tschau, Stefan