Avatar billede bundgaard Nybegynder
25. maj 2004 - 09:04 Der er 10 kommentarer og
1 løsning

Fejlhåndtering og databaser?

Nu bliver jeg snart negativ på det her :I Jeg KAN ikke få det til at virke.

Jeg får et input fra en form, der hedder cpr-nummer. Jeg skal så lave noget kode, der tester om det indtastede cpr-nummer står i databasen. Står det der, skal den udføre noget kode og står det der ikke skal den skrive "Det indtastede nummer findes ikke"

http://php.red-illusions.dk/pasteit.php?id=1692 < Er det kode jeg har indtil videre..

Og der kommer følgende fejl;

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'cpr'.
/login.asp, line 24
Avatar billede inglenook Praktikant
25. maj 2004 - 09:15 #1
proev

sqltest = "SELECT CPRnummer FROM Indstempling WHERE CPRnummer = " & cpr
Avatar billede bundgaard Nybegynder
25. maj 2004 - 09:19 #2
Nu siger den;

INSERT statement conflicted with COLUMN FOREIGN KEY constraint 'FK__Indstempl__CPRnu__7C8480AE'. The conflict occurred in database 'Indstempling', table 'Elev', column 'CPRnummer'.

Det skal lige siges, at det indtastede nummer ikke fandtes i databasen.. problemet er at den prøver at skrive det ind, selvom det ikke findes.. det er som om min "if then else" sætning ikke virker optimalt!
Avatar billede inglenook Praktikant
25. maj 2004 - 09:29 #3
set rs = conn.execute(sqltest)
if not (rs.eof) then
    bla bla.....
  else
    bla bla.....
end if

rs.close
set rs = nothing
Avatar billede inglenook Praktikant
25. maj 2004 - 09:31 #4
P.S.
Response.Wrte "Ugyldigt CPR-nummer, prøv igen"

skal vaere

Response.Write "Ugyldigt CPR-nummer, prøv igen"
Avatar billede bundgaard Nybegynder
25. maj 2004 - 09:57 #5
hey :) sorry det sene svar!

Prøvede din løsning inglenook!

http://php.red-illusions.dk/pasteit.php?id=1693

Men nu får jeg fejlen
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E0C)
Command text was not set for the command object.
/login.asp, line 22
Avatar billede bundgaard Nybegynder
25. maj 2004 - 10:01 #6
det skal lige siges at line 22 er den her; set rs = conn.execute(sqltest)
Avatar billede bundgaard Nybegynder
25. maj 2004 - 10:02 #7
Ahh.. heh

sqltest = "SELECT CPRnummer FROM Indstempling WHERE CPRnummer = " & cpr
set rs = conn.execute(sqltest)

Skal der jo stå.. nu får jeg så en syntax fejl;

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near '='.
/login.asp, line 23
Avatar billede inglenook Praktikant
25. maj 2004 - 10:06 #8
proev lige at saette response.write cpr i lige efter cpr = Request.Form("cpr-nummer")
Avatar billede bundgaard Nybegynder
25. maj 2004 - 10:13 #9
http://php.red-illusions.dk/pasteit.php?id=1694

Sådan der.. eller hvordan? :)
Avatar billede bundgaard Nybegynder
25. maj 2004 - 10:36 #10
:D:D:D:D:D:D:D:D

Nu virker det!!
http://php.red-illusions.dk/pasteit.php?id=1696

Jeg takker 60 gange for hjælpen og vil gi dig 60 point som tak :D
Avatar billede inglenook Praktikant
25. maj 2004 - 10:47 #11
;-)
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