Avatar billede riishoj Nybegynder
06. august 2002 - 15:02 Der er 8 kommentarer og
1 løsning

Fejl ved visning af database

Jeg har lavet et tilmeldingssystem til et kapsejladsstævne, som indtil d.d. har fungeret perfekt, men pludselig får jeg en fejl ved visning af en af tabellerne. Posterne indgår tilsyneladende i databasen, men jeg får følgende fejl, når jeg vil vise indholdet af tabellen. Jeg har intet ændret siden den fungerede.


ADODB.Recordset.1 error '80004005'

SQLState: 22005
Native Error Code: -3030
[INTERSOLV][ODBC SequeLink driver][ACCESS][Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.


/fireworks/deltagere_optib3.asp, line 71
Avatar billede medions Nybegynder
06. august 2002 - 16:11 #1
Hmm den fejl ser underlig ud... kan jeg ikke prøve at se din SQL streng og din Connection?

//>Rune
Avatar billede riishoj Nybegynder
06. august 2002 - 16:14 #2
Ser sådan ud

<%





' Databaseforbindelse
ConnString = "DSN=riishojwebsoftdkdsn"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString

' SQL forespørgsel
strSQL = "SELECT * FROM optiB ORDER BY Left(optiB.sejlnummer,3),CInt(Trim((Right(optiB.sejlnummer,Len(optiB.sejlnummer)-3))));"
Set rs = Conn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    Response.Write "<h4 align=center><font face=Verdana>Følgende er tilmeldt Optimist B</font></h4><br>"
    Response.Write "<h4 align=center><font face=Verdana>These are the entries of Optimist B</font></h4><br>"

    Response.Write "<table border=0 cellpadding=5>"
   
    Response.Write "<tr bgcolor=#000000><th ><font color=white face=verdana size=2>Sejlnummer</font></th><th><font color=white face=verdana size=2>Navn</font></th><th><font color=white face=verdana size=2>Sejlklub</th></tr>"
    intCount = 0
  Do while NOT (rs.EOF or rs.BOF)
  if (intCount MOD 2 = 0) then
    bgColor = "#999999" 'Første farve
   
  else
    bgColor = "#336699" 'Anden farve
 
  end if
  intCount = intCount + 1 %>
<tr  align=left>
<td  bgcolor='<%=bgColor%>'> <font color=white face=verdana size=2><%= rs("sejlnummer") %></td>
<td  bgcolor='<%=bgColor%>'> <font color=white face=verdana size=2><%= rs("navn") %></td>
<td  bgcolor='<%=bgColor%>'> <font color=white face=verdana size=2><%= rs("sejlklub") %></td>
</tr>
<%
rs.MoveNext
Loop
end if
' Rydder op efter os
Conn.Close
Set Conn = Nothing
%>
Avatar billede tmceu Praktikant
06. august 2002 - 16:26 #3
Du skal have splittet dit statement:

strSQL = "SELECT * FROM optiB ORDER BY Left(optiB.sejlnummer,3),CInt(Trim((Right(optiB.sejlnummer,Len(optiB.sejlnummer)-3))));"

Dette er en blanding af SQL og ASP kode, men det vil alt sammen blive udført mod databasen, hvorved CInt vil fejle.
Avatar billede kichian Nybegynder
06. august 2002 - 16:36 #4
Ja. Din ORDER BY indeholder ikke nogle feltnavne.
Avatar billede riishoj Nybegynder
06. august 2002 - 16:37 #5
Jeg tror ikke, at det er det som går galt. Prøv at kig på denne SQL, den virker ok. Og som sagt, har det virket før, uden jeg har ændret noget!

strSQL = "SELECT * FROM optiA ORDER BY Left(optiA.sejlnummer,3),CInt(Trim((Right(optiA.sejlnummer,Len(optiA.sejlnummer)-3))));"
Avatar billede riishoj Nybegynder
06. august 2002 - 17:00 #6
Kan det være en fejl på serveren? Er det muligt, at én af tabellerne i samme db fejler lige pludselig?
Avatar billede coltau Juniormester
06. august 2002 - 18:21 #7
Det kan jo være at du har fået oprettet en record hvor sejlnummer ikke er som forventet. Ud fra udtrykket mener jeg at nummeret skal opfylde følgende.

1. Det skal være end 3 tegn.
2. Tegnene efter de 3 første skal være et korrekt heltal.

Hvis du kan finde et eller flere numre i tabellen der ikke opfylder de betingelser vil jeg tro at fejlen kan komme.
Avatar billede coltau Juniormester
06. august 2002 - 18:22 #8
Rettelse:
1. Nummeret skal bestå af flere end 3 tegn.
Avatar billede riishoj Nybegynder
06. august 2002 - 18:38 #9
Helt rigtigt, coltau, det var løsningen. Tak for hjælpen:)
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