webForumDet fria alternativet

Sql-sats

16 svar · 311 visningar · startad av dahlgren

dahlgrenMedlem sedan aug. 20011 442 inlägg
#1

Får inte följande kod att funka det är vid Godkand = '"Ja"' som det gör ihop sig. Vad är det som är fel?

strSQL = strSQL & "SELECT MedID FROM Medlemmar "
strSQL = strSQL & "WHERE Namn= '" & Namn & "' AND Losen = '" & Losen & "'" 
strSQL = strSQL & " AND Godkand = '"Ja"' "
@ndersMedlem sedan juni 200026 914 inlägg
#2

Lite mycket citationstecken.

strSQL = strSQL & " AND Godkand = 'Ja' "
dahlgrenMedlem sedan aug. 20011 442 inlägg
#3

Då får jag
Feltyp:
Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: ''
På den aktuella raden

LarsGMedlem sedan dec. 200012 465 inlägg
#4

Då får du visa den aktuella raden + lite omkring. T.ex. så kan du använda fel variabelnamn i din execute.

dahlgrenMedlem sedan aug. 20011 442 inlägg
#5
<!--#include file="../koppla.asp" -->
strSQL = ""
strSQL = strSQL & "SELECT MedID FROM Medlemmar "
strSQL = strSQL & "WHERE Namn= '" & Namn & "' AND Losen = '" & Losen & "'" 
strSQL = strSQL & " AND Godkand = 'Ja' "
RS.Open strSQL, Conn, 3, 3

Och databas anslutiningen i koppla.asp

<% 
Conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/hem/hemoskola.mdb") 
Set RS = Server.CreateObject("ADODB.Connection") 
Conn.Open RS 
%>
LarsGMedlem sedan dec. 200012 465 inlägg
#6

i koppla.asp

sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/hem/hemoskola.mdb") 
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open sConn

och

set rs = server.createobject("adodb.recordset")
RS.Open strSQL, Conn, 3, 3
dahlgrenMedlem sedan aug. 20011 442 inlägg
#7

Då får jag detta felmedelande istället
ADODB.Recordset (0x800A0BB9)
Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.
På raden som kör sqlsatsen

Engine^Medlem sedan dec. 20002 861 inlägg
#8

Är kolumnen Godkand en strängtyp? Är det en Ja/Nej kan du testa den med att bara använda

strSQL = strSQL & " AND Godkand"
dahlgrenMedlem sedan aug. 20011 442 inlägg
#9

Det är en sträng som inehåller ordet Ja eller Nej

Engine^Medlem sedan dec. 20002 861 inlägg
#10

Felet får du därför att en av dina variabler Namn, Losen eller Ja har felaktigt värde. I någon av dina kolumner har du antagligen satt en begränsning som orsakar problemet.

Skriv ut sqlsatsen och kontrollera mot databasen.

PalleMedlem sedan apr. 20002 716 inlägg
#11

Engine^ skrev:

Felet får du därför att en av dina variabler Namn, Losen eller Ja har felaktigt värde. I någon av dina kolumner har du antagligen satt en begränsning som orsakar problemet.

Skriv ut sqlsatsen och kontrollera mot databasen.

Hmm.. är du säker på det?
Jag tror snarare att det har med cursortype´n att göra.

Nåväl, testa istället att använd execute-modellen och se om samma fel framkommer.

ex.

[red]<!--#include file="../koppla.asp" -->
strSQL = "SELECT MedID FROM Medlemmar WHERE Namn='"& Namn &"' AND Losen='"& Losen &"' AND Godkand='Ja'"
Set RS = Conn.Execute(strSQL)[/red]
dahlgrenMedlem sedan aug. 20011 442 inlägg
#12

Då får jag
Feltyp:
Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: '' på execute raden

PalleMedlem sedan apr. 20002 716 inlägg
#13

*gha!* :q

Du har inte ändrat nått i din koppla.asp?
..för den koden ska fungera! ;)

dahlgrenMedlem sedan aug. 20011 442 inlägg
#14

Har endast ändrat till det som LarsG föreslog.

<% 
sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/hem/hemoskola.mdb") 
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open sConn
%>
PalleMedlem sedan apr. 20002 716 inlägg
#15

Labbade ihop detta, fungerar bra:

[red]Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("test_dahlgren.mdb") 

strSQL = "SELECT MedID FROM Medlemmar WHERE Namn='"& Namn &"' AND Losen='"& Losen &"' AND Godkand='Ja'"
Set RS = Conn.Execute(strSQL)[/red]

Notera att jag har ett annat db-namn i detta exempel

 

dahlgrenMedlem sedan aug. 20011 442 inlägg
#16

Tack för all hjälp nu börjar det mesta fungera.

PalleMedlem sedan apr. 20002 716 inlägg
#17

dahlgren skrev:

Tack för all hjälp nu börjar det mesta fungera.

:bire

Genererad på 382 ms · cache AV · v20260730165559-full.f96bc7eb