webForumDet fria alternativet

Problem med Databas

9 svar · 295 visningar · startad av Coccozz

CoccozzMedlem sedan apr. 20032 072 inlägg
#1

Hej!
Jag har lite databasproblem...igen :p
Såhär ligger det till. Mor & Far slarvar bort sina lösenord till ditten och datten mest hela tiden och därför beslutade jag mig för att bygga en liten lösenordsdatabas. Problemet nu är att jag får inte databas kopplingen att fungera :(
Såhär ser hela databaskopplingen ut:

<%
	Set Connect2 = Server.CreateObject("ADODB.Connection")
	Connect2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("login.mdb")
	Set RecSet2 = Connect2.Execute("SELECT * FROM losen WHERE user = "session('vem')"")
%>

Och mitt underbara felmeddelande:

Feltyp:
(0x80004005)
Odefinierat fel 
/losen/skyddad.asp, line 25

Line 25 är den här raden

Set RecSet2 = Connect2.Execute("SELECT * FROM losen WHERE user = "session('vem')"")

Sidan där man loggar in ser ut såhär:

If RecSet("user") = Request.Form("anv2") AND RecSet("losen") = Request.Form("losen2") Then

Session("user") = "user"
Session("vem") = RecSet("user")
Session.Timeout = "30"
Response.Redirect("skyddad.asp")

Vad gör jag för något fel?

RambooMedlem sedan apr. 200516 inlägg
#2

Prova så här det kan funka
<%
Set Connect2 = Server.CreateObject("ADODB.Connection")
Connect2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("login.mdb")
sql = "select * FROM losen WHERE user = "session('vem')"")
Set RecSet2 = Connect2.Execute (sql)
%>

min kod som jag har ser ut så här

<% id = Session("id")
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open Conn_String
sql2 = "select * from users where id=" & id & ""
set rs2 = Conn.Execute (sql2)
%>

CoccozzMedlem sedan apr. 20032 072 inlägg
#3

Ramboo skrev:

Prova så här det kan funka
<%
Set Connect2 = Server.CreateObject("ADODB.Connection")
Connect2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("login.mdb")
sql = "select * FROM losen WHERE user = "session('vem')"")
Set RecSet2 = Connect2.Execute (sql)
%>

Tyvärr, får att "slut på programsats förväntas :(

Ramboo skrev:

min kod som jag har ser ut så här

<% id = Session("id")
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open Conn_String
sql2 = "select * from users where id=" & id & ""
set rs2 = Conn.Execute (sql2)
%>

Öhh? Vad har den med saken att göra?

RambooMedlem sedan apr. 200516 inlägg
#4

vilken rad finns felet på

<%vem = Session("vem")
Set Connect2 = Server.CreateObject("ADODB.Connection")
Connect2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("login.mdb")
sql = "select * FROM losen WHERE user ="& vem &""
Set RecSet2 = Connect2.Execute (sql)
%>
prova med denna då

CoccozzMedlem sedan apr. 20032 072 inlägg
#5

Får nu detta meddelande :
Det har inte angetts något värde för en eller flera nödvändiga parametrar.
/losen/skyddad.asp, line 28
LINE 28 ligger i denna klump:

Set Connect2 = Server.CreateObject("ADODB.Connection")
Connect2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("login.mdb")
sql = "select * FROM losen WHERE user ="& vem &""
Set RecSet2 = Connect2.Execute (sql)

RambooMedlem sedan apr. 200516 inlägg
#6

vad finns exakt på rad 28

så kan jag kolla på den

cyprysMedlem sedan dec. 20003 563 inlägg
#7

För att line 28 (Set RecSet2 = Connect2.Execute (sql)) ska fungera måste

  • Det finnas en tabell losen
  • kolumnen user vara av typen för numeriska värden (tal)
  • variabeln vem innehåller ett numeriskt värde.

Något av detta är fel i ditt fall.

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#8

Om user är ett textfält ska du ha ' runt värdet

Set Connect2 = Server.CreateObject("ADODB.Connection")
Connect2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("login.mdb")
sql = "select * FROM losen WHERE user ='"& vem &"'"
Set RecSet2 = Connect2.Execute (sql)
CoccozzMedlem sedan apr. 20032 072 inlägg
#9

Aha :e Nu förstår jag. Varken VEM eller USER är ett numeriskt värde ;) Undra hur många gånger jag glömmer detta, får snart sätta POST-IT lappar på skärmen om det :p
Fungerar numera kanonbra, tack för hjälpen ;)

J.N.Medlem sedan apr. 20031 660 inlägg
#10

HEJ!

Njae, ursprungsproblemet beror inte på om det är en sträng eller inte, utan på att du hoppat över konkateneringen av strängarna.

Set RecSet2 = Connect2.Execute("SELECT * FROM losen WHERE user = "session('vem')"")

sql = "select * FROM losen WHERE user ='"[b]&[/b] vem &"'"

Hur får du Mor & Far att komma ihåg inloggningen till datorn/webben/databasen? :e

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)