Fehlermeldung
Kathleen
- asp.net
Hallo,
vielleicht hat ja jemand eine Idee zu meinem Problem,
schreib grad an einer Anbindung an eine Access-Datenbank und irgendwie schein ich da mit der Wertübergabe was verkehrt gemacht zu haben oder?
<%@ Language="VBScript" %>
<% Option Explicit %>
<% Dim rs, strConn, Conn, SQL, strID
strID=request.QueryString("idr")
set conn = server.createobject("adodb.connection")
conn.open="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/isfh/Datenbank/DB_ISFH.mdb")
set rs = server.createobject("adodb.recordset")
Response.Write(strID)
SQL = "Select DISTINCTROW Raum.Raum_ID, Raum.Raum_Nr, Gebaeude.Bezeichnung, Etage.Bezeichnung, Raum.Bezeichnung, Raum.Flaeche, Nutzer.Fachbereich, Mitarbeiter.Titel, Mitarbeiter.Vorname, Mitarbeiter.Name, Telefon.Telefon_Nr from Telefon INNER JOIN ((Nutzer INNER JOIN (Gebaeude INNER JOIN (Etage INNER JOIN Raum ON Etage.Etage_ID = Raum.Etagen_ID) ON Gebaeude.ID = Etage.Geb_ID) ON Nutzer.ID = Raum.Nutzer_ID) INNER JOIN (Mitarbeiter INNER JOIN Raum2Mitarbeiter ON Mitarbeiter.Name_ID = Raum2Mitarbeiter.Mitarbeiter_ID) ON Raum.Raum_ID = Raum2Mitarbeiter.Raum_ID) ON Telefon.Telefon_ID = Raum.Telefon_ID Where Raum.Raum_ID = '" & strID & "'"
rs.Open SQL, Conn, 0, 1
%>
Fehlermeldung ist:
Microsoft OLE DB Provider for ODBC Drivers-Fehler '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Datentypen in Kriterienausdruck unverträglich.
/isfh/home/abfrage.asp, Zeile 13
Kann mir jemand helfen?
Bitte bitte bitte so schnell wie möglich, stehen unter Zeitdruck, diplomarbeit, grübel grübel!!!
Hallo Kathleen,
SQL = "Select DISTINCTROW Raum.Raum_ID, Raum.Raum_Nr, Gebaeude.Bezeichnung, Etage.Bezeichnung, Raum.Bezeichnung, Raum.Flaeche, Nutzer.Fachbereich, Mitarbeiter.Titel, Mitarbeiter.Vorname, Mitarbeiter.Name, Telefon.Telefon_Nr from Telefon INNER JOIN ((Nutzer INNER JOIN (Gebaeude INNER JOIN (Etage INNER JOIN Raum ON Etage.Etage_ID = Raum.Etagen_ID) ON Gebaeude.ID = Etage.Geb_ID) ON Nutzer.ID = Raum.Nutzer_ID) INNER JOIN (Mitarbeiter INNER JOIN Raum2Mitarbeiter ON Mitarbeiter.Name_ID = Raum2Mitarbeiter.Mitarbeiter_ID) ON Raum.Raum_ID = Raum2Mitarbeiter.Raum_ID) ON Telefon.Telefon_ID = Raum.Telefon_ID Where Raum.Raum_ID = '" & strID & "'"
Ist Raum_ID tatsächlich in Deiner Datenbank als String definiert? Wenn nicht, nimm mal die einfachen Anführungszeichen raus.
Grüße
Andreas
Hi Andreas, nee stimmt in meiner Datenbank ist das ein Integer, daran hab ich momentan überhaupt nicht gedacht, mir geht soviel durch den Kopf, alles schnell schnell nur nix vergessen, danke ich werd's gleich morgen testen, naja komm jetzt nicht mehr an den Server ran, leider!
Danke!Für den Ideentip!!!
Grüße Kathleen
PS: Das mit dem Forum find ich klasse,
hab da noch ein Problem und zwar mit frames, an meinem PC funktioniert alles so wie es sein muß und an dem FH-PC mit Anbindung an den Server funktioniert der Rücksprung in das Framefenster nicht(macht es in einem neuem Fenster auf), wieso bei mir am PC und nicht in der FH?Ich hab Windows XP und in der FH ist Win NT, kann das am Browser liegen?Oder woran noch?
Ich scheck nix mehr!
Danke schon mal im voraus für alle Ideen!!!
Hallo Kathleen,
hab da noch ein Problem und zwar mit frames, an meinem PC funktioniert alles so wie es sein muß und an dem FH-PC mit Anbindung an den Server funktioniert der Rücksprung in das Framefenster nicht(macht es in einem neuem Fenster auf), wieso bei mir am PC und nicht in der FH?Ich hab Windows XP und in der FH ist Win NT,
Daran liegt's eher nicht.
kann das am Browser liegen?
Daran eher auch nicht. Um welche Browser handelt es sich?
Oder woran noch?
Ohne genauere Fehlerbeschreibung (am besten mit Quellcode) kann ich nicht mehr sagen.
Grüße
Andreas
Hallo Andreas, das mit dem FRame scheint irgendein Problem speziell an meinem PC zu sein, mein Admin kümmert sich schon darum, obwohl er auch nicht weiter weiß!
Jedenfalls, funktioniert das Programm an allen PC, nur nicht an dem für mich eingerichteten, grrrr!
Okay, hab da aber noch ein Problem zu meiner ASP_Abfrage
Bekomm jetzt die Fehlermeldung:
Microsoft OLE DB Provider for ODBC Drivers-Fehler '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Datentypen in Kriterienausdruck unverträglich.
/isfh/home/abfrage.asp, Zeile 12
Ist damit gemeint, das es ein Problem zwischen der ausgelesenen Variablen und meiner DatenbankID gibt?
Weil die Zeile ist die, wo die DB geöffnet wird!
nochmal den CODE
<%@ Language="VBScript" %>
<% Option Explicit %>
<% Dim rs, strConn, Conn, SQL, strID
strID=request.QueryString("idr")
set conn = server.createobject("adodb.connection")
conn.open="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/isfh/Datenbank/DB_ISFH.mdb")
set rs = server.createobject("adodb.recordset")
SQL = "Select DISTINCTROW Raum.Raum_ID, Raum.Raum_Nr, Gebaeude.Bezeichnung, Etage.Bezeichnung, Raum.Bezeichnung, Raum.Flaeche, Nutzer.Fachbereich, Mitarbeiter.Titel, Mitarbeiter.Vorname, Mitarbeiter.Name, Telefon.Telefon_Nr from Telefon INNER JOIN ((Nutzer INNER JOIN (Gebaeude INNER JOIN (Etage INNER JOIN Raum ON Etage.Etage_ID = Raum.Etagen_ID) ON Gebaeude.ID = Etage.Geb_ID) ON Nutzer.ID = Raum.Nutzer_ID) INNER JOIN (Mitarbeiter INNER JOIN Raum2Mitarbeiter ON Mitarbeiter.Name_ID = Raum2Mitarbeiter.Mitarbeiter_ID) ON Raum.Raum_ID = Raum2Mitarbeiter.Raum_ID) ON Telefon.Telefon_ID = Raum.Telefon_ID Where Raum.Raum_ID = ' & strID & '"
rs.Open SQL, Conn, 0, 1
%>
Raum.Raum_ID ist ein Integer
und was ist strID? eigentlich ein String, oder?
wenn ich request.QueryString(idr)
dann hat er keinen Wert für idr
Und wie wandelt man einen String in eine integer?
Wert der z.B. übergeben wird ist:202201
Ich kenn mich mit VBS nicht aus und find auch nix?
Kannst Du mir vielleicht weiterhelfen?
Bitte, gruß Kathleen
Hallo Kathleen,
Ist damit gemeint, das es ein Problem zwischen der ausgelesenen Variablen und meiner DatenbankID gibt?
Es gibt ein Problem zwischen dem Feldtyp in der Datenbank und dem Vergleichswert.
"... Where Raum.Raum_ID = ' & strID & '"
Hier versuchst Du ein Integerfeld mit einem String zu vergleichen.
Richtig wäre "... Where Raum.Raum_ID = " & strID
Gib' doch einfach mal den SQL-String mit Response.Write aus, dann siehst Du den Unterschied.
Grüße
Andreas