Avatar billede loukas Mester
27. maj 2004 - 23:55 Der er 14 kommentarer og
1 løsning

fejl ved indsættelse af data i DB

Hvorfor bliver StrLeverandorvarenummer til en 'zero-length string'
Jeg har prøvet at sikre mig mod problemet med en if-sætning

                StrLeverandorvarenummer = rs("Leverandørvarenummer")
                if StrLeverandorvarenummer = "" then
                    StrLeverandorvarenummer = "none"
                End if
               
               
                strVarenavn = rs("Varenavn")
                strVarenavn = replace(strVarenavn, "'", "''")
               
                strBeskrivelse = rs("Specs")
               
                strPris = rs("pris")
                strSalgspris = strPris*1.17
               
               
               
                strSQL = "INSERT INTO varer (VareKategoriID, underkategoriID, LeveranDorID, EnhedsID, varenavn, varebeskrivelse, Kobspris, SalgsPris, pic, Leverandorvarenummer)"
                strSQL = strSQL & " VALUES("&strKat1ID&", "&strKat2ID&", 0, 1, '"&strVarenavn&"', '"&strBeskrivelse&"', '"&strPris&"', '"&strSalgspris&"', 'ingen.gif', '"&StrLeverandorvarenummer &"')"
                objConn.Execute(strSQL)
Avatar billede Slettet bruger
27. maj 2004 - 23:56 #1
Leverandørvarenummer og Leverandorvarenummer

Derfor
Ret rs("Leverandørvarenummer") til rs("Leverandorvarenummer")
Avatar billede loukas Mester
28. maj 2004 - 00:07 #2
Hej schulze !!
Leverandørvarenummer ER rigtigt ;-(
Prøv evt. at læse det sådan her:

StrLeverandorvarenummer = Request.Form(felt)
                if StrLeverandorvarenummer = "" then
                    StrLeverandorvarenummer = "none"
                End if
               
               
                strVarenavn = rs("Varenavn")
                strVarenavn = replace(strVarenavn, "'", "''")
               
                strBeskrivelse = rs("Specs")
               
                strPris = rs("pris")
                strSalgspris = strPris*1.17
               
               
               
                strSQL = "INSERT INTO varer (VareKategoriID, underkategoriID, LeveranDorID, EnhedsID, varenavn, varebeskrivelse, Kobspris, SalgsPris, pic, Leverandorvarenummer)"
                strSQL = strSQL & " VALUES("&strKat1ID&", "&strKat2ID&", 0, 1, '"&strVarenavn&"', '"&strBeskrivelse&"', '"&strPris&"', '"&strSalgspris&"', 'ingen.gif', '"&StrLeverandorvarenummer &"')"
                objConn.Execute(strSQL)
Avatar billede Slettet bruger
28. maj 2004 - 00:09 #3
ahh ups, det beklager jeg.
Avatar billede loukas Mester
28. maj 2004 - 00:12 #4
Det er data fra en tabel der skal sorteres over i en anden ;-)
Avatar billede tubber Juniormester
28. maj 2004 - 00:13 #5
Ikke jeg ved det, men none kan være et reseveret ord, prøv at ændre det til ingen altså:

if StrLeverandorvarenummer = "" then
                    StrLeverandorvarenummer = "ingen"
                End if
Avatar billede loukas Mester
28. maj 2004 - 00:18 #6
ØV, desværre - tubber

Microsoft JET Database Engine fejl '80004005'

Field 'varer.Leverandorvarenummer' cannot be a zero-length string.
Avatar billede Slettet bruger
28. maj 2004 - 00:21 #7
og ø i rs("Leverandørvarenummer") har du prøvet at rette det? æøå skaber jo til tider problemer.
Avatar billede Slettet bruger
28. maj 2004 - 00:22 #8
Nå nu tror jeg jeg ved hvad der er galt. I selve databasen er feltet leverandornummer sikkert indstillet til ikke at tillade null værdier? Har du tjekket det?
Avatar billede tubber Juniormester
28. maj 2004 - 00:23 #9
hmmmm....

Hvis den er zero-length kan det ikke også hedde null når den kommer ud ?

StrLeverandorvarenummer = Request.Form(felt)
  if StrLeverandorvarenummer = "" then
      StrLeverandorvarenummer = "none"
  Else If StrLeverandorvarenummer = "null" then
      StrLeverandorvarenummer = "none"
  End if
Avatar billede tubber Juniormester
28. maj 2004 - 00:25 #10
Hvis den sættes til none eller ingen så er den jo ikke zero-length, så spg. er hvorfor den ikke sættes til det......
Avatar billede loukas Mester
28. maj 2004 - 00:27 #11
YES, det hjalp sørme schulze.
men hvordan og hvorfor ø giver problemer forstår jeg ikke !!
Smid et svar så får du poinz !!
Tak for hjælpen
Avatar billede Slettet bruger
28. maj 2004 - 00:27 #12
Svar ;)
Avatar billede loukas Mester
28. maj 2004 - 00:31 #13
Ja jeg forstår det som sagt heller ikke - tubber ;-)
Avatar billede tubber Juniormester
28. maj 2004 - 00:32 #14
og lige et par små huske regler som jeg bruger.

Navngiv så det kan kendes igen.....

F.eks.

strNavn = Streng
intNavn = Integer
varNavn = Variable
dbNavn = Database
tblNavn = Table
rsNavn = Feltnavn (i databasen)

På den måde kommer man altid uden om reserverede ord, f.eks. den store synder er By det er reserveret men man har det med at lave et felt i db der hedder by.......der kalder jeg den rsBy........

og brug kun æøå og andre bogstaver som ikke findes i det engelske alfabet KUN i tekst aldrig i kode.......:)
Avatar billede tubber Juniormester
28. maj 2004 - 00:34 #15
hov glemte lige osv.....

der er jo mange flere typer og sådan der kan sættes, så som Long (lngNavn)
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

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging