Avatar billede krc_ Nybegynder
22. december 2003 - 14:31 Der er 4 kommentarer og
1 løsning

Hjælp til if sætning hvis primær nøgle findes i db

Hej !

Min fil som add'er data til min database ser ud som nedenstående. Hvor der står 'if bruger findes skal den redirecte tilbage med fejl + felter!

Vil jeg gerne have en if sætning der tjekker på om brugernavn allerede findes i databasen og hvis det gør det så skal jeg....(det klarer jeg selv, men jeg ved ikke hvad jeg skal tjekke på for at se om brugernavnet allerede findes ?


<!-- #include file="db.inc" -->
<%
'Dimension variables
Dim adoCon              'Holds the Database Connection Object
Dim rsAddComments      'Holds the recordset for the new record to be added
Dim strSQL              'Holds the SQL query to query the database

'Create an ADO connection object
Set adoCon = Server.CreateObject("ADODB.Connection")

'Set an active connection to the Connection object using a DSN-less connection
adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/bruger.mdb")

'Create an ADO recordset object
Set rsAddComments = Server.CreateObject("ADODB.Recordset")

'Initialise the strSQL variable with an SQL statement to query the database
strSQL = "SELECT brugerdata.brugernavn, brugerdata.fornavn, brugerdata.efternavn, brugerdata.email, brugerdata.kodeord, brugerdata.ip FROM brugerdata;"

'Set the cursor type we are using so we can navigate through the recordset
rsAddComments.CursorType = 2

'Set the lock type so that the record is locked by ADO when it is updated
rsAddComments.LockType = 3

'Open the recordset with the SQL query
rsAddComments.Open strSQL, adoCon

'Tell the recordset we are adding a new record to it
rsAddComments.AddNew

'Add a new record to the recordset
rsAddComments.Fields("brugernavn")= Request.Form("brugernavn")
rsAddComments.Fields("fornavn")  = Request.Form("fornavn")
rsAddComments.Fields("efternavn") = Request.Form("efternavn")
rsAddComments.Fields("email")    = Request.Form("email")
rsAddComments.Fields("kodeord")  = Request.Form("kodeord")
rsAddComments.Fields("Ip")        = Request.ServerVariables("REMOTE_ADDR")

'if bruger findes skal den redirecte tilbage med fejl + felter!


'Write the updated recordset to the database
rsAddComments.Update

'Reset server objects
rsAddComments.Close
Set rsAddComments = Nothing
Set adoCon = Nothing

'find id som vi lige har sat ind.
sqlo = "SELECT max(ID_no) FROM brugerdata"
Set rso = dbc.Execute(sqlo)   

oid = Cint(rso(0))


'Redirect to the guestbook.asp page
'Response.Redirect "view_db.asp?id=" & Server.URLEncode(oid)

%>
Avatar billede gurvic Nybegynder
22. december 2003 - 14:51 #1
dim strBruger as string
strBruger = Request.form("brugernavn")
sql = "select * from brugerdata where brugernavn = '" & strBruger & "'"
set rs = adoCon.Execute(sql)
if rs.eof then
'brugernavnet finde i db, så gør hvad der nu skal ske
end if
Avatar billede gurvic Nybegynder
22. december 2003 - 14:54 #2
sorry omvendt ser sådan ud
if not rs.eof then
'brugernavnet findes i db, så gør hvad der nu skal ske
end if
Avatar billede krc_ Nybegynder
22. december 2003 - 15:02 #3
får denne fejl :
Tekniske oplysninger (for supportteknikere)

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
Slut på sætning var ventet
/test/fiskebasen/bruger/asp/add_bruger.asp, line 30, column 14
dim strBruger as string
-------------^
Avatar billede gurvic Nybegynder
22. december 2003 - 15:12 #4
du kan bare slette den linie.. tænkte nok lidt for meget asp.net sorry :)
Avatar billede krc_ Nybegynder
22. december 2003 - 15:16 #5
muuhaaahahahahaaha det virker sgu....
Hehe....
TAAAAAAK
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester