ASP & mySQL
.:thomas:.
- asp.net
Hallo,
ich greife von einer ASP Seite auf eine mySQL Datenbank zu. Mit folgendem Befehl, möchte ich einen bestimmten Datensatz ändern. Nur leider tut sich gar nichts. Nicht mal eine Fehlermeldung...
sql = "UPDATE anlagenbuch SET "
sql = sql & "kommentar='" & Request.Form("T99") & "' "
sql = sql & "WHERE id=" & Request.QueryString("id")
Lasse ich den SQL Befehl ausgeben, so sieht er so aus. Nur leider kann ich absolut kein Problem feststellen.
UPDATE anlagenbuch SET kommentar='test' WHERE id=8
Danke schon mal für die Hilfe
Halihallo .:thomas:.
ich greife von einer ASP Seite auf eine mySQL Datenbank zu. Mit folgendem Befehl, möchte ich einen bestimmten Datensatz ändern. Nur leider tut sich gar nichts. Nicht mal eine Fehlermeldung...
Hast du sie auch wirklich abgefragt? - Die kommt nicht umbedingt von sich aus.
sql = "UPDATE anlagenbuch SET "
sql = sql & "kommentar='" & Request.Form("T99") & "' "
sql = sql & "WHERE id=" & Request.QueryString("id")
Request.Form und Request.QueryString sollte eigentlich nicht gemischt werden.
UPDATE anlagenbuch SET kommentar='test' WHERE id=8
Der Query ist zumindest für MySQL OK, aber nicht umbedingt für die Schnittstelle. Also
meine Frage: Welche DB-Schnittstelle benutzt du? ADO, ODBC, ...?
Versuch mal die etwas allgemeinere Syntax:
UPDATE anlagenbuch (kommentar) VALUES ('test') WHERE id=8
Viele Grüsse
Philipp
Hallo Philipp,
vielen Dank für den Tipp:
Hast du sie auch wirklich abgefragt? - Die kommt nicht umbedingt von sich aus.
Hat mich echt auf die richtige Spur gebracht und jetzt funktionierts auch.
Danke.
Hi, hallo
Request.Form und Request.QueryString sollte eigentlich nicht gemischt werden.
kannst du mir bitte verraten, wieso?
.Form
.QueryString
sind zweil Aufzählungen ^= Hashtables die unabhängig voneinander während des Seitenaufrufes gefüllt werden über das Request-Objekt zur Verfügung stehen
Wo ist denn jetzt der Unterschied zwischen
<script>
ab = Request.Form("ab")
cd = Request.QueryString("cd")
ef = ab & cd
</script>
und
<script>
ef = Request.Form("ab") & Request.QueryString("cd")
</script>
es funktioniert, performance-defizite sind nicht messbar, führte bislang nie zu fehlern.
Tschau, tschüß,
Frank
Halihallo Frank
Request.Form und Request.QueryString sollte eigentlich nicht gemischt werden.
kannst du mir bitte verraten, wieso?
QueryString im CGI-Sinne, gibt es nur bei GET-Requests. Form verwaltet auch POST-Daten.
Bei der Umstellung von GET auf POST könnte (s. unten) es also zu Problemen führen.
Voraussetzung dieser Argumentation ist, dass QueryString auch wirklich nur bei GET-
Requests Daten enthält, was ich nicht weiss. Wenn dem so ist (nur GET-Daten), sollte
man die beiden wirklich nicht mischen; wenn nicht liege ich falsch (... und bin einem
Wording- und Konzeptionsfehler von M$ auf den Leim gegangen).
es funktioniert, performance-defizite sind nicht messbar, führte bislang nie zu fehlern.
Wenn QueryString auch POST-Daten speichert, gebe ich dir recht. Weisst du es gleich? -
Sonst werde ich es bei Zeiten nachprüfen.
Viele Grüsse
Philipp
Halihallo Frank
Request.Form und Request.QueryString sollte eigentlich nicht gemischt werden.
kannst du mir bitte verraten, wieso?
http://www.w3schools.com/asp/asp_inputforms.asp
manifestiert den Unterschied auch in der verwendeten 'method'. Ist ist also, wenn
evtl. auch anders möglich, doch ratsam, zwischen den Zugriffen zu differenzieren.
Nachprüfen kann ich es leider im Moment nicht, da mein IIS tot ist und ich die XP-CD
nicht finde :-(
Würde mich freuen, wenn das jemand überprüfen könnte: Ist Response.QueryString auch bei
der POST-Methode "gefüllt"?
Viele Grüsse
Philipp
Hi, hallo
Request.Form und Request.QueryString sollte eigentlich nicht gemischt werden.
kannst du mir bitte verraten, wieso?
http://www.w3schools.com/asp/asp_inputforms.asp
manifestiert den Unterschied auch in der verwendeten 'method'. Ist ist also, wenn
evtl. auch anders möglich, doch ratsam, zwischen den Zugriffen zu differenzieren.
Auf der Seite steht nichts annähernd darüber warum man die beiden Sachen nicht vermischen sollte.
Request.QueryString wird beim Request auf eine .asp mit Wertpaaren gefüllt, die mittels der form-method GET übermittelt wurden oder der URL angehängt wurden
Bsp:
<form action="abc.asp?site=v.asp&language=1" method="POST">
<input type="hidden" name="myHiddenField" value="test">
<input type="submit" value="submit">
</form>
an "site" und "language" kommst du nur mit Request.QueryString und an "myHiddenField" nur mit Request.Form, TAUSCHEN geht aber NICHT, wenn du das meintest - hab ich aber nie so behauptet, daß man mit beiden Aufzählungen an jeden Parameter rankommt.
nichts beißt sich und kann miteinander / hintereinander verwendet werden
Request.Form("myHiddenField") & Request.QueryString("site") = "testv.asp"
Ist Response.QueryString auch bei der POST-Methode "gefüllt"?
Request.Form und Request.QueryString existieren _immer_ bei der Anforderung einer ASP ressource, sie _müssen_ _aber_ _nicht_ gefüllt sein!!
Die Füllung mit Werten hängt davon ab, wie welche Werte übergeben werden !!POST / GET!! die stehen danach in der jeweils
Ich bin beim Posting von .:thomas:. davon ausgegangen, dass er sowohl Parameter via URL übergibt als auch Werte per <form method=post> sendet... daher vielleicht die gegenseitige Verwirrung ;-)
Tschau, tschüß,
Frank
Halihallo Frank
Request.Form und Request.QueryString sollte eigentlich nicht gemischt werden.
kannst du mir bitte verraten, wieso?http://www.w3schools.com/asp/asp_inputforms.asp
manifestiert den Unterschied auch in der verwendeten 'method'. Ist ist also, wenn
evtl. auch anders möglich, doch ratsam, zwischen den Zugriffen zu differenzieren.Auf der Seite steht nichts annähernd darüber warum man die beiden Sachen nicht vermischen sollte.
Eine Argumentation nicht, ja. Aber die Beispiele sprechen für sich (das
wiederspricht sich nicht mit dem, was du weiter unten schreibst).
an "site" und "language" kommst du nur mit Request.QueryString und an "myHiddenField" nur mit Request.Form, TAUSCHEN geht aber NICHT, wenn du das meintest - hab ich aber nie so behauptet, daß man mit beiden Aufzählungen an jeden Parameter rankommt.
Ja, dann sind wir gleicher Meinung ;)
Request.Form und Request.QueryString existieren _immer_ bei der Anforderung einer ASP ressource, sie _müssen_ _aber_ _nicht_ gefüllt sein!!
ACK.
Die Füllung mit Werten hängt davon ab, wie welche Werte übergeben werden !!POST / GET!! die stehen danach in der jeweils
Das ist die Antwort auf meine Frage, danke.
Ich bin beim Posting von .:thomas:. davon ausgegangen, dass er sowohl Parameter via URL übergibt als auch Werte per <form method=post> sendet... daher vielleicht die gegenseitige Verwirrung ;-)
Ja, war mein Fehler.
Wir wiedersprechen uns in keinem Punkt ;-)
Viele Grüsse
Philipp
Hello again, ...
wir hatten nur aneinander vorbei geredet :-) passiert unter geeks ab und zu :-)
Bis demnext,
Frank
Hallo,
wenn ich mich auch noch kurz einmischen darf :-),
Ich bin beim Posting von .:thomas:. davon ausgegangen, dass er sowohl Parameter via URL übergibt als auch Werte per <form method=post> sendet...
Das ist auch so. Ich hatte auch bis jetzt noch keine Probleme damit, aber ich habe aus euerer Unterhaltung schon jeden menge gelernt :-)