[asp][ms sql]3 waardes checken of ze bestaan

Pagina: 1
Acties:

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 07-09 21:19
hoi,

ik ben een soort check systeem aan het bouwen. Wat is de bedoeling:

- check of het ip-adres uniek is
- check of het emailadres uniek is
- check of het volgnummer < 1000

met deze code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Dim ipadrescons, emailadrescons, ipadresdb, emailadresdb, link
ipadrescons = Request.Servervariables("REMOTE_ADDR")
emailadrescons = request.form("emailadres")
' debug om te checken of het wel goed gaat!
response.write " ip cons is: "&ipadrescons&"<br>"
response.write "emailcons is: "&emailadrescons&"<br>"

set rs_checkin = Server.CreateObject("ADODB.Recordset")
rs_checkin.ActiveConnection = dbconn
rs_checkin.Source = "SELECT volgnummer, ipadres, emailadres FROM dbo.kaartbestellingen where (volgnummer < 1000) AND (ipadres = '"&ipadrescons&"' AND emailadres = '"&emailadrescons&"')"
rs_checkin.CursorType = 0
rs_checkin.CursorLocation = 2
rs_checkin.LockType = 3
rs_checkin.Open()
rs_checkin_numRows = 0

if rs_checkin.eof or rs_checkin.bof then
    link =  "../discontinued/testfree.html"
else
    link = "../discontinued/testpay.html"
end if
' debug om te checken welke link er nu gegeven wordt!
response.write link

hij blijft nu dus gewoon weergeven als link: "../discontinued/testfree.html"

Ik heb in mijn database (MS SQL) deze 3 velden als volgt staan:
ipadres: varchar
emailades: varchar
volgnummer: numeric

Ik zie niet meer wat ik fout doe... Ik hoop jullie wel.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • whoami
  • Registratie: December 2000
  • Laatst online: 07-09 19:30
1 woord: (2 eigenlijk :P)
Unique Constraints

En als je het toch op uw manier wilt doen, dan moet de doen
code:
1
if rs.eof and rs.bof

en niet
code:
1
if rs.eof or rs.bof

Mocht je het gedebugged hebben, was je er zeker op gebotst.

Dus 2 dingen: leer debuggen, en lees eens iets over unique constraints.

https://fgheysels.github.io/


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 07-09 21:19
je bedoelt unieke waardes van die 3 velden maken?

Ik denk dat dat niet kan (denk ik hoor) want:

zodra het volgnummer > 1000 is/wordt, moet de gebruiker naar een andere link gestuurd worden maar kan ie nog wel spul in de db stoppen. En dan gaat dat toch niet op? of wel?

/edit:
Ik heb het nu dus zo voor elkaar dat: hij wel checkt of emailadres al bestaat. Zo ja, ga dan naar de 2e link. Zo nee, naar de 1e.
Bestaat het ip-adres: ja: ga naar link 2, zo nee: ga naar link 1

Nu nog het volgnummer.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 07-09 21:19
ik weet het echt niet meer. Ik heb volgens mij de meest rare dingen al geprobeerd. Ik heb ook wat aanpassingen in de db gemaakt.(zodat er ook op datum geselecteerd kan worden)

Even een overzichtje wat mijn huidige "status" is.

in de MS SQL table:
- volgnummer -> numeric
- datum -> datetime (vb. 23-5-02)

Wat is mijn "gedachtengang nu:
hij moet eerst checken of het volgnummer hoger is dan 1000.
is dit niet het geval, dan moet ie het email / ipadres geen checken. (email/ipadres check heb ik al wel werkend)

Maar mijn probleem is dus: dat volgnummer. Dat moet per dag gechecked worden. Na enig graafwerk kwam ik dit tegen:
code:
1
"set dateformat DMY(SELECT MAX (volgnummer) AS nummer FROM dbo.kaartbestellingen WHERE datum = '"&datum&"')"

Hierbij zou dus de hoogste waarde in het volgnummer veld _per dag_ uitgekozen moeten worden. De variable datum wordt als volgt gemaakt:
code:
1
datum = date

Maar hij komt dus met:
code:
1
2
3
Microsoft OLE DB Provider for SQL Server error '80040e21' 
The requested properties cannot be supported. 
/includes/checkpayfree.asp, line 17

Terwijl ik toch gelezen heb dat set dateformat DMY _alleen_ werkt met MS SQL.

Als iemand mij kan helpen, graag.. want ik snap er geen reet meer van.

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

reply op whoami:

Hoe kan het nu EN Begin of File EN End of File tegelijk zijn. het moet dus toch OR zijn en niet AND lijkt me.
gr,
:Z-Force

Verwijderd

Als een recordset geen gegevens bevat is bij BOF en EOF...

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:54

Crazy D

I think we should take a look.

Yup al is het normaal gesproken voldoende (lees: nog nooit meegemaakt dat dat niet werkte) om alleen op EOF te checken.

Exact expert nodig?

Pagina: 1