SQL-Abfrage in einer ASP-Variable speichern
anfänger
- asp.net
Hallo!
Ich möchte eine SQL-Abfrage (SELECT wert FROM tbl_personen WHERE person="stefan boitler") in eine ASP-Variable speichern.
Dies sollte eigentlich kein Problem sein, aber irgend etwas mache ich scheinbar falsch. Kann mir jemand sagen,wie das geht?
Danke, Gruss
Anfänger
Servus
hier gibst heute keine ordentlichen antworten nur quatsch
..
..
nein war nur quatsch! ;oP
zeig doch mal was du bis jetzt versucht hast, dann schaun mer mal.
bydey
ok,machen wir das!
Ich will einen Wert aus einem Datensatz lesen (es gibt in der Spalte die Werte 1 und 0 --> 1 =checkbox ist checked, 0= checkbox ist nicht checked)
Nun will ich eine Variabel machen, und einen bestimmten Wert aus der mysql-DB lesen, diesen in die Variabel schreiben, und per if-abfrage checken, ob er 1 oder 0 ist, wenn er 1 ist, soll die Checkbox checked sein.
ich weiss nicht, wie es mit dem SQL-statements geht, also ich habe es mit verschiedenen Zeichen versucht, ", ', () ... und schliesslich müssten für die Zuweisung einer Variable ja gar keine Sonderzeichen gebraucht werden, aber ich weiss nicht, ob das auch so ist wenn ein SQL-Statement übergeben wird.
-----------
<%
dim query
query="SELECT wert FROM tbl_personen WHERE person="sandro mueller"
If query="1" Then Response.Write ("<input type="checkbox" value="1" name="stefan boitler">")End If
%>
---------
Servus
so weit so unklar.
jetzt weiss ich nur nicht was bei dir funktioniert und was nicht.
differenziere das mal. im moment sieht es aus als wenn da gar nicht geht. oder?
bydey
grüssgott!
genau! du hast es erfasst!*g*
nein, also das andere sollte ich hinkriegen, die Fehlermeldung lautet:
----------
Kompilierungsfehler in Microsoft VBScript-Fehler '800a03ee'
')' erwartet
/sandro/content.asp, Zeile 67
query= ("SELECT wert FROM tbl_personen WHERE person="stefan boitler")
-----------
...nur kann ich mit dieser nichts anfangen,aber als erstes sollte ja mal die zuweisung der variable klappen....
Servus
na siehste, war doch gar nicht so schlimm.
query= ("SELECT wert FROM tbl_personen WHERE person="stefan boitler")
und queury = 1
kann 1 = ("SELECT wert FROM tbl_personen WHERE person="stefan boitler") sein?
ich denke nicht. du must den queury auch ausführen, sprich deiner db übergeben. wie versucht du das?
bydey
es ist so, dass der Wert, welcher momentan ausgelesen wird (die SQL-Abfrage) 1 ist.
zuerst lese ich den Wert (welcher 1 ist) mit der SQL-Abfrage aus,
und will diesen in die Variable "query" speichern.
Dann prüfe ich mit IF, ob die Variable query den Wert 1 enthält.
ich denke nicht. du must den queury auch ausführen, sprich deiner db übergeben. wie versucht du das?
Ich weiss nicht ganz, was du meinst mit ausführen, übergeben...hättest du eine idee, wie ich das lösen kann?
Servus
es gibt jetzt 2 möglichkeiten:
1. ich habe keine ahnung, möglich - wahrscheinlich
2. du liest nichts aus, auch möglich
zeig mal deinen code, wie du die verbindung zur DB herstellst.
bis dahin wo du die variable wieder abfragst, denn das was du mir zeigst kann nach meinem kenntnis stand so nicht funktionieren!
bydey
ok, also die Variabel ist jetzt glaube ich mit dem Wert der DB gefüllt.
Ich poste mal den ganzen ASP-Code, keine Angst,ist seeeehr wenig, im Moment.
verbindungsaufbau:
<%
Set db = CreateObject("ADODB.Connection")
db.Open("AbsenzDB")
%>
----------> sollte funktionieren, bringt auf jeden fall
keinen fehler mehr
restlicher Code:
<%
dim query
query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"
If query="1" Then Response.Write ("<input type="checkbox" value="1" name="sandro" checked>")End If
%>
Servus
na offensichtlich lag es an meinem wissensstand. das man den sqlstring einfach in ne variable setzt ohne ihn explizit auszuführen und er dennoch einen wert zurückgibt, wusste ich nicht.
da hab ich dich wohl auf den falschen geführt.
war meine aussage im ausgangsposting wohl doch nicht son quatsch. hätte nur hinzufügen müssen, dass das auf mich zutrifft!
bydey
ja, weisst du warum es jetzt noch einen fehler gibt?
es kommt: Kompilierungsfehler in Microsoft VBScript-Fehler '800a03ee'
')' erwartet
/sandro/content.asp, Zeile 68
If query="1" Then Response.Write ("<input type="checkbox" value="1" name="sandro" checked>")End If
Servus
If query="1" Then Response.Write ("<input type="checkbox" value="1" name="sandro" checked>")End If
ich denke
1. wenn das eine zeile am stück ist hat das end if da nichts mehr zu suchen
2. zerlegt das ding mal in die einzelteile. mach erst mal eine leichte if klausel und schreib dein response.write mal ohne if. so siehst was nicht geht. ich zerlege komplexe fehler immer in atome, wenn es geht.
bydey
ich habe es abgeändert, und jetzt kommt kein fehler mehr!
<%
dim query
query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"
If query="1" Then Response.Write '("<input type="checkbox" value="1" name="sandro" checked>")'End If%>
...aber jetzt wird die Checkbox nicht geschrieben...
Servus
nein ich bin raus. fahr jetzt den binary bomber runter und vermutlich nerve ich erst 2003 wieder. allen weihliche fröhnachten und nen ruten gutsch
ich habe es abgeändert, und jetzt kommt kein fehler mehr!
<%
dim query
query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"
If query="1" Then Response.Write '("<input type="checkbox" value="1" name="sandro" checked>")'End If%>
...aber jetzt wird die Checkbox nicht geschrieben...
dann schreib sie erst mal ohne if! dennoch für mich sieht das völlig falsch. habe mich vorhin aber schon mal heftig getäuscht!!!!! (prell)
bydey
Hallo,
kann sein, dass ich in dem Thread irgendwas überlesen habe.
Doch ich bin ganz der Meinung von dey , dass es so nicht funktionieren kann. Du öffnest zwar eine Verbindung zur DB, aber
keinen Recordset.
<%
Set db = CreateObject("ADODB.Connection")
db.Open("AbsenzDB")
%>
Wenn AbsenzDB eine DSN ist, sollte das okay sein.
<%
dim query
query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"If query="1" Then Response.Write ("<")End If
%>
Du weist der Variablen query doch den Wert "SELECT ..." als String
zu, wie kann query dann "1" sein?
<%
Set rst = Server.CreateObject("ADODB.Recordset")
query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"
rst.Open query, db
If rst("wert")= "1" Then
response.write("<input type='checkbox' value='1' name='sandro' checked>")
End If%>
Hab es jetzt nicht getestet, aber so sollte es funktionieren.
Grüße, Stefan
DANKE MICHAEL SCHNEIDER!
Es hat funktioniert...soweit, jetzt liegt der Fehler weiter unten im Skript! *g*...das war ja klar..hehe...aber ich denke, es ist ok so, jetzt muss ich nur noch herausfinden, wie ich es unten anstellen kann...
Hallo,
aendere doch mal das SQL -Statement:
query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"
Viele Gruesse aus dem Altmuehltal
Michael Schneider
Servus
Hallo,
aendere doch mal das SQL -Statement:query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"
funktioniert das ohne explizite übergabe a'la execute?
aber der string könnte stimmen?
bydey