08. marts 2006 - 11:21Der er
10 kommentarer og 1 løsning
Skriver 2 gange til databasen
Ved log af skærmopløsning skriver nedstående kode 2 gange til database; 1. gang laves blot tomme felter, 2. gange kommer de ønskede tal med. Hvordan fjerner jeg 1. skrivning med de tomme felter?
dim rs, intWidth, intHeight
sub dbStartStr(sqlstr) Set rs = Server.CreateObject("ADODB.Recordset") strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/log/skaerm.mdb") rs.Open sqlstr, strDSN, 1, 3 end sub
"In immediate update mode (in which the provider writes changes to the underlying data source once you call the Update method), calling the AddNew method without arguments sets the EditMode property to adEditAdd (an EditModeEnum value). The provider caches any field value changes locally. Calling the Update method posts the new record to the database and resets the EditMode property to adEditNone (an EditModeEnum value). If you pass the Fieldlist and Values arguments, ADO immediately posts the new record to the database (no Update call is necessary); the EditMode property value does not change (adEditNone)."
OK, jeg kører det uden Update call - men den laver stadig en tom post og så en med data.
Opdateret kode: dim rs, intWidth, intHeight, nu
sub dbStartStr(sqlstr) Set rs = Server.CreateObject("ADODB.Recordset") strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/log/skaerm.mdb") rs.Open sqlstr, strDSN, 1, 3 end sub
sub dbStopStr() rs.Close Set rs = Nothing end sub
intWidth = Request.Querystring("width") intHeight = Request.Querystring("height") nu = now()
Det kan ikke have noget at gøre med, at jeg får data fra javascript? <SCRIPT LANGUAGE="javascript"> document.write('<img src="default.asp?height=' + screen.height + '&width=' + screen.width +'" width=1 height=1>'); </script>
sub dbStartStr(sqlstr) Set rs = Server.CreateObject("ADODB.Recordset") strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/log/skaerm.mdb") rs.Open sqlstr, strDSN, 1, 3 end sub
sub dbStopStr() rs.Close Set rs = Nothing end sub
intWidth = Request.Querystring("width") intHeight = Request.Querystring("height") nu = now()
1. Du henter siden default.asp. Her er parametrene height og width ikke med, så den indsætter noget i databasen med tomme felter. 2. På siden er der et billede, som har URL'en default.asp?height=<højden>&width=<bredden>. Når det billede skal vises, henter den default.asp igen - denne gang med de rigtige parametre.
Løsning: lad være med at prøve at indsætte noget, hvis du ikke får de korrekte parametre.
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.