Hej testa Värdena ser definitivt ut att vara rätt, då det ju fungerar om man kör sidorna separat men det blir fel om man lägger dem i en följd. Vet du vad jag ser - det är inte sql som smäller, det är själva koden! Hej 0x800A000D är ett VB-fel (Type Mismatch). Jo, det tror man ju. Ett sista försök... någon som har ett matnyttigt tips? Testa skriv ut alla relevanta variabler. Den rad det blir fel på är (som det står längre upp i tråden): Ops, lite snabb där. Vad ger då t.ex. Med mycket trixande och lite nytänk har jag nu fått till det men vill ha en förflyttning till en annan sida sist i filen. <b>Verifiera att det verkligen, verkligen, verkligen, absolut och oomkullrunkeligen rör sig om tal</b> (eller ännu hellre strängar) du försöker konkatenera i din Response.Redirect "ipdb2..." & ...Köra flera uppdateringsfrågor i följd
Jag har stött på ett problem som jag tycker är underligt. Jag kör vanlig ASP mot en Access-databas.
Det jag vill göra är först att kopiera innehållet i en (mall-)tabell till en annan befintlig tabell och därefter uppdatera de värden jag fick in i den tabellen.
När jag kör steg för steg - i 3 olika filer - får jag det att fungera, men när jag lagt ihop allt till en enda fil fungerar det inte. När jag bryter ut det som den klagar på till en enskild fil så fungerar den delen också bra.
Det jag försöker göra är alltså:
1. kopiera innehållet i en tabell in till en annan tabell
2. sök och ersätt på vissa värden som kom in i och med kopieringen
Raden som det klagas på är:
rs_dhcp_cmd.CommandText = "UPDATE ip_nummer SET ipnr_status = " & nummerstatus & " WHERE ipnr_serie_id = " & ip_serieid & " AND (ipnr_ip4 BETWEEN " & dhcp_start & " AND " & dhcp_stopp & ") "
Felet blir:
"Feltyp:
Körningsfel i Microsoft VBScript (0x800A000D)
Inkompatibla typer"
Som sagt, detta fungerar när jag kör det i en separat fil, men inte när det ligger efter det andra...
Finns det någon chans att ASP-koden inte "hinner med" när man kör den i följd eller kan det vara något annat som stör?
Mvh
/ PerSv: Köra flera uppdateringsfrågor i följd
' för debugging så du ser hur sql-satsen verkligen ser ut
response.write dinsql
response.end
' sen kör
rs_dhcp_cmd.Execute(dinsql)
sen - se till att dhcp_start och dhcp_stopp inte är tomma - då kommer du garanterat få fel.Sv:Köra flera uppdateringsfrågor i följd
Någon teori om hur det kan bli så?
/ PerSv: Köra flera uppdateringsfrågor i följd
Finns .commandtext på ett objekt i klassisk asp? Skicka in lite kod hur du skriver för att skapa objekten, öppna data så vi ser vad som kan vara fel. Använder du commandobjekt är det där det kan strula till det.Sv:Köra flera uppdateringsfrågor i följd
I början av filen är det bla dessa värden som initieras.
<%
ip_serieid = CInt(Request("serieid"))
dhcp_start = CInt(Request("dhcp1"))
dhcp_stopp = CInt(Request("dhcp2"))
nummerstatus0 = 1
nummerstatus = CInt(nummerstatus0)
stdipserieid0 = 9999
stdipserieid = CInt(stdipserieid0)
%>
Sen kommer det fjärde Recordsetet som strular, efter det att tre andra har gått bra.
<%
Dim rs_dhcp
Dim rs_dhcp_cmd
Dim rs_dhcp_numRows
Set rs_dhcp_cmd = Server.CreateObject ("ADODB.Command")
rs_dhcp_cmd.ActiveConnection = MM_itc_STRING
rs_dhcp_cmd.CommandText = "UPDATE ip_nummer SET ipnr_status = " & nummerstatus & " WHERE
ipnr_serie_id = " & ip_serieid & " AND (ipnr_ip4 BETWEEN " & dhcp_start & " AND " & dhcp_stopp & ") "
rs_dhcp_cmd.Prepared = true
Set rs_dhcp = rs_dhcp_cmd.Execute
rs_dhcp_numRows = 0
%>
Och, som sagt, om man kör detta separat i en egen fil så fungerar det klockrent.
Koden är inte "gjord" av mig, utan till stor del av Dreamweaver.
Mvh
/ Per
Sv: Köra flera uppdateringsfrågor i följd
Jag skulle gissa att det är nåt i stil med det här
en_variabel = Cint(Request("NåntingSomInteGaranteratGårAttKonverteraTillEnInteger"))
eller möjligen
en_annan_variabel = Cint(kanske_null_eller_en_sträng_eller_nåt_sånt)
som spökar
Sv:Köra flera uppdateringsfrågor i följd
Men om det fungerar i en egen fil borde det väl fungera även om man placerar flera RS efter sig i en och samma fil?
Vad finns det som kan spöka då?
Finns det en möjlighet att det blir fel i körningen pga cachning, någon minnesgrej som blir full eller inte hinner med eller något annat?
Läses tex tabellen in i minnet av ASP och när innehållet uppdateras i tabellen, att ASP inte "hinner med"?
/ PerSv: Köra flera uppdateringsfrågor i följd
Hur skulle ni göra om ni behövde köra flera uppdateringsfrågor i rad i en och samma ASP-fil?
Har ni gjort det? Något strul?
/ PerSv:Köra flera uppdateringsfrågor i följd
Dubbelkolla alla typkonverteringar.
Försök hitta exakt vilken rad det är som smäller (i värsta fall -- släng in typ response.write("hej") på varannan rad och se hur många hej du får...)Sv: Köra flera uppdateringsfrågor i följd
rs_dhcp_cmd.CommandText = "UPDATE ip_nummer SET ipnr_status = " & nummerstatus & " WHERE
ipnr_serie_id = " & ip_serieid & " AND (ipnr_ip4 BETWEEN " & dhcp_start & " AND " & dhcp_stopp & ") "
Ni får rätta mig om jag har fel, men... kan det verkligen vara fel på någon variabel om koden fungerar i en enskild fil, men ger fel om man lägger flera RS i följd i en och samma fil?
Borde inte felet bero på något helt annat?
/ Per
Sv:Köra flera uppdateringsfrågor i följd
Dim jox As String
jox = "UPDATE ip_nummer SET ipnr_status = " & nummerstatus & " WHERE
ipnr_serie_id = " & ip_serieid & " AND (ipnr_ip4 BETWEEN " & dhcp_start & " AND " & dhcp_stopp & ") "
rs_dhcp_cmd.CommandText = jox
för resultat?
Sv: Köra flera uppdateringsfrågor i följd
Om jag skriver...Response.Redirect "ipdb2.asp?serieid=61&ip1=62&ip2=63&ip3=64&dhcp1=65&dhcp2=166"
...går det bra, dvs om jag anger olika värden direkt i länken.
Om jag däremot skriver...Response.Redirect "ipdb2.asp?serieid=" & ip_serieid & "&ip1=" & ip1 & "&ip2=" & ip2 & "&ip3=" & ip3 & "&dhcp1=" & dhcp_start & "&dhcp2=" & dhcp_stopp & " "
...får jag felet "Inkompatibla typer"!
Detta var ju felet jag hade från början, men de enda värden som skickas med i variablerna är ju värden/tal mellan 1 och 254! Hur fel kan det då bli???
Någon som har något uppslag?
/ Per
Sv:Köra flera uppdateringsfrågor i följd
Felmeddelandet du får säger att nån eller några av dina variabler inte går att konvertera till en sträng.