Avatar billede plato Juniormester
22. november 2004 - 10:08 Der er 12 kommentarer og
1 løsning

Giver fejl hvis feltet er tomt.

Hejsa NG.

Hvis en ny bruger opretter sig, er feltet "antalbio" tomt indtil brugeren selv går ind i sin profil og ændrer det. Men det troede jeg midlertidigt jeg havde dækket ind med følgende kode:

<%
If Session("login") = True THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Application("Provider")   
SQL3 = "select * from users WHERE user = '" & session("user") & "'"
Set rs = Conn.Execute(SQL3)   
intAnmeld = rs("antalbio")
else
intAnmeld = 6
end if
if intAnmeld = "" Then
intAnmeld = 6
end if
%>    

<%
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("../db/anmeld.mdb")
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open strConnect   

strSQL = "SELECT TOP 6 " & intAnmeld & " FROM anmeld  ORDER BY id DESC"
Set rs = objConn.Execute(strSQL)

Do While Not rs.EOF
id = rs("id")
titel = rs("titel")
star = rs("star")
forfatter = rs("forfatter")
pic = rs("pic")
teaser = rs("teaser")
Count = rs("Count")
%>

"Her kommer så resten af html-koden"



Men det går galt når en bruger logge ind første gang.
Nogen der kan hjælpe?
Avatar billede plato Juniormester
22. november 2004 - 10:09 #1
Hovs:
strSQL = "SELECT TOP " & intAnmeld & " * FROM anmeld  ORDER BY id DESC"
Avatar billede plato Juniormester
22. november 2004 - 10:12 #2
Dette er forøvrigt fejlen:
Microsoft JET Database Engine error '80040e14'

The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.

/test/default.asp, line 82


Som er denne her linie:
Set rs = objConn.Execute(strSQL)
Avatar billede hiks Nybegynder
22. november 2004 - 10:12 #3
du kan evt. redde det i din database istedet - det ved at sætte en standardværdi (0) i dit antalbio felt.

If IsNull(rs("antalbio")) <> Null then

  intAnmeld = rs("antalbio")
Else

  intAnmeld = 0
End if

/hiks
Avatar billede kalp Novice
22. november 2004 - 10:12 #4
hvis det fordi feltet er tomt så skal du bare ind i din database og ændre under design for feltet antalbio så det tillader zero length
Avatar billede kalp Novice
22. november 2004 - 10:13 #5
ændre den til

Set strConnect = objConn.Execute(strSQL)
Avatar billede kalp Novice
22. november 2004 - 10:13 #6
den her du skal ændre til min kommentar

Set rs = objConn.Execute(strSQL)
Avatar billede hiks Nybegynder
22. november 2004 - 10:14 #7
den fejl den referer til er at intAnmeld er et tal vil jeg tro... Du laver lidt dobbelt ved at have TOP 6 6

/hiks
Avatar billede plato Juniormester
22. november 2004 - 10:21 #8
kalp:
Prøver at ændre design.
den anden løsning virker ikke.

hiks:
jeg har rettet det sådan den ikke laver dobbelt 6.
Den anden løsning virker ikke.

Dog kan jeg jo gøre sådan at når en bruger opretter sig, så indsætter koden automatisk et default tal. Problemet er bare jeg skal igennem alle dem som i forvejen er oprettet.

Jeg skal på arbejde nu, men kigger her ind igen i aften.
Avatar billede kalp Novice
22. november 2004 - 10:28 #9
til dem som du allerede har oprettet kan du hurtigt rette til :)


du kan sagtens kopire en række og indsætte den.. kopir og sæt 10 rækker ned ind af gangen til alle er har fået 0 i værdi
Avatar billede plato Juniormester
22. november 2004 - 21:31 #10
Det irriterer mig...

Her er koden (skraldet for HTML). Den første virker fint. Men nummer 2 virker ikke. De ligger i samme fil.
Den kommer med fejlen:
The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.


Her kommer koden:
------------------------------Nummer 1
<%
If Session("login") = True THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Application("Provider")
SQL3 = "select * from users WHERE user = '" & session("user") & "'"
Set rs = Conn.Execute(SQL3)
intAnmeld = rs("antalbio")
else
intAnmeld = 6
end if

if antalbio = 0 Then
intAnmeld = 6
end if
%>

<%
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("../../db/anmeld.mdb")
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open strConnect

strSQL = "SELECT TOP " & intAnmeld & " * FROM anmeld  ORDER BY id DESC"
Set rs = objConn.Execute(strSQL)

Do While Not rs.EOF
id = rs("id")
titel = rs("titel")
star = rs("star")
forfatter = rs("forfatter")
pic = rs("pic")
teaser = rs("teaser")
Count = rs("Count")
%>

<%
placering = placering + 1
rs.MoveNext
loop
%>

------------------------------Nummer 2


<%
If Session("login") = True THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Application("Provider")
SQL = "select * from users WHERE user = '" & session("user") & "'"
Set rs = Conn.Execute(SQL)
intAnmeldb = rs("antalnews")
else
intAnmeldb = 6
end if

if antalnews = 0 Then
intAnmeldb = 6
end if
%>


<%

    Function fncTextChange(strText)
strTekst = Trim(strText)
  fncTextChange = Replace(strTekst,"'","'")
  fncTextChange = Replace(fncTextChange,"""","""")
  fncTextChange = Replace(fncTextChange,"  "," &nbsp;")
  fncTextChange = Replace(fncTextChange,vbCrLf,"<BR>")
  fncTextChange = Replace(fncTextChange,"å","&aring;")
  fncTextChange = Replace(fncTextChange,"æ","&aelig;")
  fncTextChange = Replace(fncTextChange,"ø","&oslash;")
  fncTextChange = Replace(fncTextChange,"Å","&Aring;")
  fncTextChange = Replace(fncTextChange,"Æ","&AElig;")
  fncTextChange = Replace(fncTextChange,"Ø","&Oslash;")
  fncTextChange = Replace(fncTextChange,"","<b>")
  fncTextChange = Replace(fncTextChange,"
","</b>")
  fncTextChange = Replace(fncTextChange,"","<i>")
  fncTextChange = Replace(fncTextChange,"
","</i>")
  fncTextChange = Replace(fncTextChange,"","<u>")
  fncTextChange = Replace(fncTextChange,"
","</u>")
End Function

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Application("Provider")
     

        strSQL = "SELECT TOP " & intAnmeldb & " * FROM nyhedtemp WHERE active = True  ORDER BY id DESC"
Set rs = objConn.Execute(strSQL)

Do While Not rs.EOF
id = rs("id")
overskrift = rs("overskrift")
forfatter = rs("forfatter")
indhold = rs("indhold")
pic = rs("pic")
dato = rs("dato")
kilde = rs("kilde")
link = rs("link")
%>

<%
placering = placering + 1
rs.MoveNext
loop
%> 

Jeg har sat alle til 0 i db.
Avatar billede kalp Novice
22. november 2004 - 22:52 #11
er det stadig samme problem når brugeren vil logge ind for første gang eller har det ændret sig?
Avatar billede plato Juniormester
19. december 2004 - 20:11 #12
Samme problem først gang brugeren logger ind. Virker selvfølgelig fint når brugeren har rettet det i sin profil.
Avatar billede plato Juniormester
28. november 2005 - 12:45 #13
Lukket.
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