Goder afton Du skriver att problem uppstår, men inte vari problemet är. Om du har null i fälten i databasen så får du kolla efter det med funktionen IsNull(). Du får också göra jämförelserna i omvänd ordning, alltså börja med att kolla om fälten är tomma, eftersom det inte går att jämföra ett värde med null. Jag skulle göra på ett helt annat sätt. string1 och 2 är de data som skickas via formuläret på förg. sida jag har provat detta med IsNull men får det inte att fungera samtliga fält i databasen är "text" så IsNull fungerar väl inte på den datatypen Problemet är att formulrdata jämförs med "inget" eftersom databasen kan vara tom i motsv. fält Utan att testa, så kan jag nog påstå att det inte hjälper. > jag har provat detta med IsNull men får det inte att fungera Där slog du huvudet på spiken, funktionen fungerar klockrent,Matcha formulärdata med recordset eller inte
Jag försökar att via en formulärsida skicka två värden som på nästa sida skall valideras mot en databas, ung beskrivning såhär
string1 = Request.QueryString("formdata1")
string2 = Request.QueryString("formdata2")
Select fält1, fält2 from tabell where fält1 = string1 and fält2 = string2
Här kommer problemet
Om fält1 = string1 och fält2 = string2 then
response.redirect "sida1.asp"
ELSE
Om fält1 = string1 och fält2 = INGET then
response.redirect "sida2.asp"
ELSE
om samtliga fält är tomma i databasen
response.redirect "sida3.asp"
Problemet uppstår när det visar sig att string1 är samma som fält1 och när data saknas i fält2
Jag börjar bli (f'låt är redan) gråhårig på detta, så ett visdoms ord på vägen kan hjälpa mig att förstå varför det "s--ter" sig.
Tpfh
PeterSv: Matcha formulärdata med recordset eller inte
Får du felmedelande?
Fungerar inte redirecten?
Det du kallar för string1 string2, är det poster ifrån databasen?
Sen en petites, för min del så tycker jag att det fungerar bättre med request.form än querystring.Sv: Matcha formulärdata med recordset eller inte
Sv: Matcha formulärdata med recordset eller inte
Skicka med form. dvs POST, inte GET som Querystring är.
På den andra sidan skulle jag hämta från databasen post 1 och 2, sen med en IF sats så kollar jag om RS.EOF dvs har jag fått träff eller inte, om träff, båda stämmer, om inte, något stämmer inte, skicka vidare.
//Anna-KarinSv:Matcha formulärdata med recordset eller inte
Sv:Matcha formulärdata med recordset eller inte
Sv:Matcha formulärdata med recordset eller inte
Jag skall prova detta med request.form så får vi se hur det gårSv: Matcha formulärdata med recordset eller inte
<code>Select fält1, fält2 from tabell where fält1 = string1 and fält2 = string2 </code>
Om nu någon av strängarna är tomma, då får du ju ingen träff.
Om jag försöker att spåna lite, så skulle jag har försökt så här:
<code>
string1 =request("string1)
string2 =request("string2)
test1=0
test2=0
Set rst = Server.CreateObject("ADODB.Recordset")
SQL="Select Fält1 FROM Tabellen WHERE Fält1='" & string1 &"'"
RST.Open strSQL, Connection
IF NOT RST.EOF THEN
test1=1
END IF
Set rst = Server.CreateObject("ADODB.Recordset")
SQL="Select Fält1 FROM Tabellen WHERE Fält2='" & string2 &"'"
RST.Open strSQL, Connection
IF NOT RST.EOF THEN
test2=1
END IF
IF test1=1 AND test2=0 then
'gör någonting
ELSEIF test1=0 AND test2=1
'gör någonting
ELSE 'nu måste bägge strängarna vara tomma
'gör någonting
END IF
</code>
Det är nog ganska så rimligt att detta script i stort sett bör fungera. Sv: Matcha formulärdata med recordset eller inte
Då gör du fel, helt enkelt. Visa koden.
> samtliga fält i databasen är "text" så IsNull fungerar väl inte på den datatypen
Jo, det gör det. Om värdet är Null så är det Null oavsett vad fältet i databasen har för datatyp.Sv:Matcha formulärdata med recordset eller inte
Tack för hjälpen