Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med databasskrivning

Postades av 2005-09-27 14:43:49 - Björn Jansson, i forum asp - allmänt, Tråden har 4 Kommentarer och lästs av 407 personer

Hej!

Fick för ett tag sedan en funktion för att enkelt uppdatera många poster i en databas.
Principen var då "ta värde på posten X och lägg till med värdet Y". Nu vill jag göra
"Strunta i vad värdet på posten X är och sätt dit Y".

Den första funktionen såg ut så här:
Jag har dessutom satt följande:
Response.Buffer = true
set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("db/statistik.mdb")



function doedit(id, post, laggatill, connection)
connection.Execute "UPDATE statdata_org SET " + post + " = " + post + " + " + laggatill + " WHERE ID = " + id
end function

Och jag pusslade ihop den andra så att den ser ut så här:
function doedit2(id, post, laggatill, connection)
connection.Execute "UPDATE statdata_org SET " + post + " = " + laggatill + " WHERE ID = " + id
end function

Men det är något som inte stämmer. Jag anropar funktionen med

doedit2 CurID, "Namn", request.form("namn"), cnn

Och får felmeddelandet

Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'Förnamn Efternamn'.

/st/editspelare.asp, line 9

På rad 9 står följande:
connection.Execute "UPDATE statdata_org SET " + post + " = " + laggatill + " WHERE ID = " + id

Då tänkte jag att man kanske skulle bädda in laggatill med "-tecken, men det går ju inte så bra...

Någon som kan hjälpa mig? Vore ytterst tacksam. Säg till om du vill se hela koden.

Tack,
Björn


Svara

Sv: Problem med databasskrivning

Postades av 2005-09-27 15:36:45 - Johan Djupmarker

Låter som att du försöker uppdatera ett textfält? I sådana fall:

function doedit2(id, post, laggatill, connection)
connection.Execute "UPDATE statdata_org SET " + post + " = '" + laggatill + "' WHERE ID = " + id
end function

/Johan


Svara

Sv:Problem med databasskrivning

Postades av 2005-09-27 16:14:57 - Björn Jansson

Tack, precis det jag var ute efter!

Men det är något som inte stämmer.

Jag klistrar in hela koden nedan, hoppas det inte är för rörigt (jag är som du säkert märkt inte en hejare på asp)... Jag försöker lägga till ' och förklara vad som verkar skumt det gör.

Hela grejen är en databas för en fotbollsförening. Alla spelarna i A, B, C och J-lag finns med, tillsammans med diverse data såsom namn, födelsedatum, yrke samt hur många mål, matcher, assist, inhopp och dylikt de fått i varje lag.


<code>
<html>
<head><title>*</title>
<link href="../main.css" rel="stylesheet" type="text/Css">
<body class="text">
<%


function doedit2(id, post, laggatill, connection)
connection.Execute "UPDATE statdata_org SET " + post + " = '" + laggatill + "' WHERE ID = " + id + " "
Response.write("UPDATE statdata_org SET " + post + " = '" + laggatill + "' WHERE ID = " + id)
response.write("<br>")
end function



function doedit3(id, post, laggatill, connection)
'connection.Execute "UPDATE statdata_org SET " + post + " = '" + laggatill + "' WHERE ID = " + id + " "
Response.write("<b>UPDATE statdata_org SET " + post + " = '" + laggatill + "' WHERE ID = " + id)
response.write("<br></b>")
end function

Response.Buffer = true
set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("db/statistik.mdb")

dim CurID, frn(9), tem(4), str(72), a, b, c
CurID = request.form("uti")

'Posterna för statistiken är 72 st, MatcherAlag, InhoppJlag osv osv osv, och de skapas här
'istället för att behöva skriva i dem själv
frn(1) = "Matcher" : frn(2) = "Inhopp" : frn(3) = "Mal"
frn(4) = "Assist" : frn(5) = "Varning" : frn(6) = "Utvisning"
frn(7) = "Etta" : frn(8) = "Nolla" : frn(9) = "ML"

tem(1) = "A" : tem(2) = "B" : tem(3) = "C" : tem(4) = "J"


a = 1
c = 1
do while a <> (1 + ubound(tem))
b = 1
do while b <> (1 + ubound(frn))
str(c) = frn(b) & tem(a) & "lag"
c = c + 1
b = b + 1
loop
a = a + 1
loop
a = 1
do while a <> 37
str(36 + a) = str(a) & "T"
a = a + 1
loop
'Den sista do-loop grejen gör en kopia på varje skapad post och lägger till ett T: MatcherAlag -> 'MatcherAlagT - detta är för träningsmatcher.


'Här skrivs sedan persondatan, typ namn, födelsedatum och annat. statistiken (Dvs alla poster som
'finns i str() kommer längre ner)

dim vt, vs, vb, lk 'bild, vstat, vtrupp, kapten är checkboxar
vt = "0" : vs = "0" : vb = "0" : lk = "0"
if request.form("bild") = "on" then vb = "1"
if request.form("vstat") = "on" then vs = "1"
if request.form("vtrupp") = "on" then vt = "1"
if request.form("kapten") = "on" then lk = "Ja"
doedit2 CurID, "Namn", request.form("namn"), cnn
doedit2 CurID, "Smeknamn", request.form("snamn"), cnn
doedit2 CurID, "Lag", ucase(request.form("lag")), cnn
doedit2 CurID, "VisaTrupp", vt, cnn
doedit2 CurID, "Persnr", request.form("pnum"), cnn
doedit2 CurID, "VisaStatistik", vs, cnn
doedit2 CurID, "Bild", vb, cnn
doedit3 CurID, "Position", request.form("pos"), cnn 'Orsaken till att jag har doedit3 är att den inte
'klarar av att använda doedit2 av någon anledning.
doedit2 CurID, "Vikt", request.form("vikt"), cnn
doedit2 CurID, "Langd", request.form("lngd"), cnn
doedit2 CurID, "Yrke", request.form("yrke"), cnn
doedit2 CurID, "Moderklubb", request.form("mklu"), cnn
doedit2 CurID, "KomHit", request.form("kgoi"), cnn
doedit2 CurID, "AndraKlubbar", request.form("oklu"), cnn
doedit2 CurID, "BastaSpelare", request.form("bspe"), cnn
doedit2 CurID, "BastaLag", request.form("bklu"), cnn
doedit2 CurID, "BastaMinne", request.form("bgme"), cnn
doedit2 CurID, "SamstaMinne", request.form("wgme"), cnn
if lk = "Ja" then
doedit2 CurID, "Lagkapten", lk, cnn
end if
'Sen tar vi matchstatistiken... och här kör den alltså igenom alla i str() och sätter dit rätt värde
a=1
do while a <> (ubound(str) + 1)
doedit2 CurID, str(a), request.form(str(a)), cnn
a=a+1
loop
'response.redirect("admin.asp")
%>
</body>
</html>
</code>

Hoppas det inte blev alltför rörigt. Att den inte kan spara positionen är en grej (som jag kan ta senare, inte så viktigt), men när den ska skriva matchstatistiken - dvs str() - så sparar den inte som den ska. Som du ser i funktionen doedit2 så har jag lagt till en response.write() för att kolla att den skriver ut rätt saker. i utskriften ser allt bra ut, men datan sparas inte.

Ytterst tacksam för hjälpen.


Svara

Sv: Problem med databasskrivning

Postades av 2005-09-27 18:25:54 - Pelle Johansson

Om jag läser rätt nu, på din ursprungsfråga ser du felet: Syntax error (missing operator) in query expression 'Förnamn Efternamn'.

Du har alltså inget mellanslag mellan för och efternamn för att informera att det är två fält.


Svara

Sv:Problem med databasskrivning

Postades av 2005-09-27 18:43:02 - Björn Jansson

Namn-felet är åtgärdat - det fixades när jag satte ' runt strängen.

Problemet som kvarstår är att
do while a <> (ubound(str) + 1)
doedit2 CurID, str(a), request.form(str(a)), cnn
a=a+1
loop
inte vill fungera som det ska. De rader där jag skrivit ut varje doedit2... (för namn, födelsedata etc) fungerar, men inte de där postens namn hämtas ur str().


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 780
27 960
271 761
496
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies