Avatar billede aero Nybegynder
27. december 2005 - 20:18 Der er 5 kommentarer og
1 løsning

den vil kun gemme en record ud af 50 i min db

Hej jeg har en side som henter noget data fra en anden side..
http://www.billundfodbold.dk/bif/team&results/get_main_program_to_db_test.asp?page=40-33
eller
http://www.billundfodbold.dk/bif/team&results/get_main_program_to_db_test.asp?page=21-16

De link henter dataen som den skal og ser jo godt ud...
Men når jeg så vil gemme dataen i en database og sletter alle response.write linjer som laver oversigten til de 2 link så vil den kun gemme den første evt:
"243808 14-04-04 19:00 Vejle B Vejle Kammeraterne Nordre Stadion, Vejle 1-0"
http://www.billundfodbold.dk/bif/team&results/get_main_program_to_db.asp?page=40-33
i min database og så kommer den med en kritisk fejl:

Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/bif/team&results/get_main_program_to_db.asp, line 144

Og jeg kan heller ikke køre en anden side efter den har skrevet en record i min db så kommer den med fejlen lige meget hvad..
http://www.billundfodbold.dk/bif/team&results/get_main_program_to_db.asp?page=21-16

Håber nogle har tid til at kigge på min strSQL linje da det nok er den den er gal med... Godt Nytår..^^

Linje 144 i min kode er:
Set objRS = objConn.Execute(strSQL)
i koden delen:

strSQL = "SELECT count(*) AS antal FROM Program"
      strSQL = strSQL & " WHERE [Number] = '" & Matchnumber & "'"
      Set objRS = objConn.Execute(strSQL)

...min kode er ellers...
code...
code..
code.
  Set HttpObj = Server.CreateObject("AspHTTP.Conn")
  HttpObj.Url = trim("  "&strU1&tid&strU2&pid&strU3&"  ")
  HttpObj.FollowRedirects = True
  HttpObj.RequestMethod = "GET"
  HttpObj.UserAgent = "Mozilla/2.0 (compatible; MSIE 3.0B; Windows NT)"
  strResult = HttpObj.GetURL
 
  Dim Read, ReadEnd, Matchnumber, Matchdate, Hometeam, Awayteam, Playground, Score

    Read = instr(1,strResult,"PROGRAM START")
    Read = instr(Read,strResult,"<table")
    Read = instr(Read,strResult,"</table")
    Read = instr(Read,strResult,"<table")
   
    while Read > 0
      Score = "&nbsp;"

      Read = instr(Read,strResult,"linkUl") + 8
      ReadEnd = instr(Read,strResult,"<")
      Matchnumber = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Matchdate = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Hometeam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Awayteam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<span")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Playground = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Score = mid(strResult,Read,ReadEnd-Read)
     
      strSQL = "SELECT count(*) AS antal FROM Program"
      strSQL = strSQL & " WHERE [Number] = '" & Matchnumber & "'"
      Set objRS = objConn.Execute(strSQL)

      If objRS("antal") = 0 Then
      strSQL = "INSERT INTO Program (Number, MDate, HTeam, ATeam, Ground, Score, Team_Name) VALUES ('" & Matchnumber & "', '" & Matchdate & "', '" & Hometeam & "', '" &Awayteam& "', '" & Playground & "', '" & Score & "', '" & strT & "')"
      Else
      strSQL = "UPDATE Program SET Score1 = '" & Score & "'"
      strSQL = strSQL & " WHERE [Number] = '" & Matchnumber & "'"
      End If
      objConn.Execute(strSQL)
     
      Read = instr(Read,strResult,"<table")
    wend
    objRS.MoveNext
    Loop   
  Set HttpObj = nothing
Call CloseDB
Response.Write("Data'en er nu gemt i databasen")
%>
Avatar billede aero Nybegynder
27. december 2005 - 20:20 #1
Score1 = Score kom til at sætte et 1 tal foran da jeg oprettede spm. så ved at fejlen ikke ligger der, kun til information
Avatar billede cpufan Juniormester
27. december 2005 - 20:44 #2
fejlen henviser til at en kolonne ikke er tekst, men sandsynligvis tal i din database, og dermed skal der ikke plinger rundt om værdien
= 'tekst'
=  12345
Avatar billede cpufan Juniormester
27. december 2005 - 20:49 #3
Dette her giver iøvrigt ikke meget mening:

    Read = instr(1,strResult,"PROGRAM START") 'sætter Read til et tal
    Read = instr(Read,strResult,"<table") 'sætter read til et tal
    Read = instr(Read,strResult,"</table")'sætter read til et tal
    Read = instr(Read,strResult,"<table")'sætter read til et tal, dermed er de første 3 overflødige
osv. ned igennem koden
   
    while Read > 0
      Score = "&nbsp;"

      Read = instr(Read,strResult,"linkUl") + 8
      ReadEnd = instr(Read,strResult,"<")
      Matchnumber = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Matchdate = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Hometeam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Awayteam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<span")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Playground = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Score = mid(strResult,Read,ReadEnd-Read)
Avatar billede aero Nybegynder
27. december 2005 - 21:16 #4
okay jeg har lavet det om i min db og nu virker det med at hente den første
Oldboys A
243808 14-04-04 19:00 Vejle B Vejle Kammeraterne Nordre Stadion, Vejle 1-0
243811 21-04-04 19:00 Haderslev FK 2 Vejle B Haderslev Stadion 2-4
243818 28-04-04 19:00 Vejle B Kolding IF Nordre Stadion, Vejle 5-2
243823 05-05-04 19:00 Vejle FC Vejle B Vestre Stadion 3-3
243828 12-05-04  Vejle B Oversidder Nordre Stadion, Vejle
243832 26-05-04 19:00 AGF, Aarhus Vejle B AGF's anlæg 5-0
243838 02-06-04 19:00 Vejle B Søvind GIF Nordre Stadion, Vejle 3-2
243840 09-06-04 19:00 Haderslev FK 1 Vejle B Haderslev Stadion 4-4
243848 16-06-04 19:00 Vejle B Vinding SF Nordre Stadion, Vejle UHT
243858 11-08-04 19:00 Vejle B Haderslev FK 2 Nordre Stadion, Vejle UHT
243861 18-08-04 19:00 Kolding IF Vejle B Kolding Stadion 2-3
243868 25-08-04 19:00 Vejle B Vejle FC Nordre Stadion, Vejle UHT
243874 01-09-04  Oversidder Vejle B
243850 01-09-04 19:00 Vejle Kammeraterne Vejle B Søndre Stadion 2-10
243878 08-09-04 18:30 Vejle B AGF, Aarhus Nordre Stadion, Vejle 1-4
243881 15-09-04 19:00 Søvind GIF Vejle B Søvind Stadion 1-2
243888 22-09-04 18:00 Vejle B Haderslev FK 1 Nordre Stadion, Vejle 1-5
243893 29-09-04 18:00 Vinding SF Vejle B Vinding Stadion 4-6

Men den når ikke at hente fra Oldboys B og det samme gælder de andre link den vil kun hente fra den første..hvad kan det skyldes.

Den kode Kommentar: cpufan 27/12-2005 20:49:34.
Det er ASPHTTP da min side henter et link i en db og går så ind på det link og henter de oplysninger
Avatar billede aero Nybegynder
27. december 2005 - 22:58 #5
håber det hjælper hvis du ser hele min kode....(har fået lov af dbu at hente dataen).

...kode...
<% Response.Buffer = True %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
Dim page
page = Request.QueryString("page")
Response.Buffer = True
Session.LCID = 1030
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<body>
<!--#include file="../include/dsn.asp"-->
<%
Call OpenDB

strSQL = "SELECT [TID], [Name], [Year], [Link2] FROM List"
if request.querystring("page") = "40-33" then
strSQL = strSQL & " WHERE [Link2] NOT LIKE '%program%'"
strSQL = strSQL & " AND [Link2] NOT LIKE '%position%'"
strSQL = strSQL & " AND [Year] NOT LIKE '21'"
strSQL = strSQL & " AND [Year] NOT LIKE '18'"
strSQL = strSQL & " AND [Year] NOT LIKE '16'"
strSQL = strSQL & " AND [Year] NOT LIKE '14'"
strSQL = strSQL & " AND [Year] NOT LIKE '12'"
strSQL = strSQL & " AND [Year] NOT LIKE '10'"
strSQL = strSQL & " AND [Year] NOT LIKE '8'"
strSQL = strSQL & " AND [Year] NOT LIKE '5'"
strSQL = strSQL & " AND [Year] NOT LIKE '4'"
elseif request.querystring("page") = "21-16" then
strSQL = strSQL & " WHERE [Link2] NOT LIKE '%program%'"
strSQL = strSQL & " AND [Link2] NOT LIKE '%position%'"
strSQL = strSQL & " AND [Year] NOT LIKE '40'"
strSQL = strSQL & " AND [Year] NOT LIKE '33'"
strSQL = strSQL & " AND [Year] NOT LIKE '14'"
strSQL = strSQL & " AND [Year] NOT LIKE '12'"
strSQL = strSQL & " AND [Year] NOT LIKE '10'"
strSQL = strSQL & " AND [Year] NOT LIKE '8'"
strSQL = strSQL & " AND [Year] NOT LIKE '5'"
strSQL = strSQL & " AND [Year] NOT LIKE '4'"
elseif request.querystring("page") = "14-10" then
strSQL = strSQL & " WHERE [Link2] NOT LIKE '%program%'"
strSQL = strSQL & " AND [Link2] NOT LIKE '%position%'"
strSQL = strSQL & " AND [Year] NOT LIKE '40'"
strSQL = strSQL & " AND [Year] NOT LIKE '33'"
strSQL = strSQL & " AND [Year] NOT LIKE '21'"
strSQL = strSQL & " AND [Year] NOT LIKE '18'"
strSQL = strSQL & " AND [Year] NOT LIKE '16'"
strSQL = strSQL & " AND [Year] NOT LIKE '8'"
strSQL = strSQL & " AND [Year] NOT LIKE '5'"
strSQL = strSQL & " AND [Year] NOT LIKE '4'"
elseif request.querystring("page") = "8-4" then
strSQL = strSQL & " WHERE [Link2] NOT LIKE '%program%'"
strSQL = strSQL & " AND [Link2] NOT LIKE '%position%'"
strSQL = strSQL & " AND [Year] NOT LIKE '40'"
strSQL = strSQL & " AND [Year] NOT LIKE '33'"
strSQL = strSQL & " AND [Year] NOT LIKE '21'"
strSQL = strSQL & " AND [Year] NOT LIKE '18'"
strSQL = strSQL & " AND [Year] NOT LIKE '16'"
strSQL = strSQL & " AND [Year] NOT LIKE '14'"
strSQL = strSQL & " AND [Year] NOT LIKE '12'"
strSQL = strSQL & " AND [Year] NOT LIKE '10'"
End If
strSQL = strSQL & " ORDER BY [Team ID] ASC;"
Set objRS = objConn.Execute(strSQL)

  Do While Not objRS.EOF
 
  strLine = objRS("Link2")
  strTN = objRS("Name")
 
  Set re = New RegExp
  re.Global = True
  re.Pattern = "teamid=(\d+).*poolid=(\d+)"

  Set matches = re.Execute(strLine)

  For Each m In matches
    strtid = m.SubMatches(0)
    strpid = m.SubMatches(1)
  Next
     
  Dim strResult
  strUrl1 = "http://www.dbu.dk/sr/programTeam.aspx?teamid="
  strUrl2 = "&poolid="
  strUrl3 = "&year=2004"
   
  Set HttpObj = Server.CreateObject("AspHTTP.Conn")
  HttpObj.Url = trim("  "&strUrl1&strtid&strUrl2&strpid&strUrl3&"  ")
  HttpObj.FollowRedirects = True
  HttpObj.RequestMethod = "GET"
  HttpObj.UserAgent = "Mozilla/2.0 (compatible; MSIE 3.0B; Windows NT)"
  strResult = HttpObj.GetURL
 
  Dim Read, ReadEnd, Matchnumber, Matchdate, Hometeam, Awayteam, Playground, Score

    Read = instr(1,strResult,"PROGRAM START")
    Read = instr(Read,strResult,"<table")
    Read = instr(Read,strResult,"</table")
    Read = instr(Read,strResult,"<table")
   
    while Read > 0
      Score = "&nbsp;"

      Read = instr(Read,strResult,"linkUl") + 8
      ReadEnd = instr(Read,strResult,"<")
      Matchnumber = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Matchdate = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Hometeam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Awayteam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<span")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Playground = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Score = mid(strResult,Read,ReadEnd-Read)
     
      Playground = Replace(Playground, "'", "\")
     
      strSQL = "SELECT count(*) AS antal FROM Program"
      strSQL = strSQL & " WHERE [Number] = '" & Matchnumber & "'"
      Set objRS = objConn.Execute(strSQL)

      If objRS("antal") = 0 Then
      strSQL = "INSERT INTO Program (Number, Date, HTeam, ATeam, Ground, TScore, Name) VALUES ('" & Matchnumber & "', '" & Matchdate & "', '" & Hometeam & "', '" &Awayteam& "', '" & Playground & "', '" & Score & "', '" & strTN & "')"
      Else
      strSQL = "UPDATE Program SET TScore = '" & Score & "'"
      strSQL = strSQL & " WHERE [Number] = '" & Matchnumber & "'"
      End If
      objConn.Execute(strSQL)
     
      Read = instr(Read,strResult,"<table")
    wend
    objRS.MoveNext
    Loop   
  Set HttpObj = nothing
Call CloseDB
Response.Write("Data'en er nu gemt i databasen")
%>
</body>
</html>
Avatar billede aero Nybegynder
28. december 2005 - 13:19 #6
når lukker så
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