Avatar billede superraider Nybegynder
26. juli 2005 - 17:38 Der er 20 kommentarer og
1 løsning

jeg kan ikke finde fejlen

Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 2.

Set farmers = Server.CreateObject("ADODB.Recordset")
        SQL = "SELECT * FROM items where farmer = '" & request.form("farmer") & "' AND item ='" & request.form("itemname") & "'"
        response.write SQL
        farmers.Open SQL, Conn, 3, 1    <------ her den siger fejl
        if farmers.RecordCount > 0  then
        farmamount = int(farmers("antal")) + int(request.Form("amount"))
        SQLFaUpdate = "update Farmers set antal = " & farmamount & " where id = " & farmers("id")
        conn.execute(SQLFaUpdate)
        else
        SQLfaAdd = "insert into farmers (farmer, item, antal) values('" & request.form("farmer") & "', '" & request.Form("itemname") & "', " & request.Form("amount") & ")"
        conn.execute(SQLfaAdd)
        end if
Avatar billede busschou Praktikant
26. juli 2005 - 17:39 #1
det er højst sandsynlig fordi dine request.forms er tomme
Avatar billede busschou Praktikant
26. juli 2005 - 17:40 #2
jeg kan se at du har en udskrift at din sql hvad siger den?
Avatar billede superraider Nybegynder
26. juli 2005 - 17:47 #3
SELECT * FROM items where farmer = 'superraider' AND item ='testtesta'
Avatar billede busschou Praktikant
26. juli 2005 - 17:50 #4
http://support.microsoft.com/default.aspx?scid=kb;en-us;216425
Der står at det kun forekommer fordi den ikke genkender dine to kollonner
Avatar billede busschou Praktikant
26. juli 2005 - 17:51 #5
Det er muligt den er case sensitive, så det er Farmer istedet for farmer og Item istedet for item
Avatar billede nielle Nybegynder
26. juli 2005 - 18:10 #6
Dim strConn
strConn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dinDatabase.mdb")

Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open strConn

Set farmers = Server.CreateObject("ADODB.Recordset")

SQL = "SELECT * FROM items WHERE farmer = '" & request.form("farmer") & "' AND item ='" & request.form("itemname") & "'"
Response.Write SQL

Set farmers = Conn.Execute(strSQL)
If farmers.RecordCount > 0 Then
    farmamount = CInt(farmers("antal")) + CInt(request.Form("amount"))
    SQLFaUpdate = "UPDATE farmers SET antal = " & farmamount & " WHERE id = " & farmers("id")
    Conn.Execute(SQLFaUpdate)
Else
    SQLfaAdd = "INSERT INTO farmers (farmer, item, antal) VALUES('" & request.form("farmer") & "', '" & request.Form("itemname") & "', " & request.Form("amount") & ")"
    Conn.Execute(SQLfaAdd)
End If
Avatar billede nielle Nybegynder
26. juli 2005 - 18:11 #7
Access er ikke case-sensitiv
Avatar billede busschou Praktikant
26. juli 2005 - 18:17 #8
nielle >> hmm ok, men der står jo stadig at den fejl betyder at kollonnerne ikke er gendkendt ? ;o)

Og så lige til dit, så husk der er forskel på SQL og strSQL uanset om det er case sensitive eller ej ;o)
Avatar billede superraider Nybegynder
26. juli 2005 - 18:23 #9
recordcount ville ikke virke med den måde du åbner database forbindelsen
Avatar billede nielle Nybegynder
26. juli 2005 - 18:26 #10
If Not farmers.EOF Then
Avatar billede nielle Nybegynder
26. juli 2005 - 18:29 #11
superraider> Har du tjekket efter - som busschou siger - at der eksistere to felter, farmer og item, i din tabel items?
Avatar billede superraider Nybegynder
26. juli 2005 - 18:51 #12
ja har tjekekt, de er der
Avatar billede busschou Praktikant
26. juli 2005 - 18:52 #13
kommer den med nogen fejl når du kører nielles foreslag?
Avatar billede superraider Nybegynder
26. juli 2005 - 18:54 #14
den finder kun en post, så jeg skal bruge recordcount, for med en post vil den ogs være ved EOF.  Hvis jeg bruge farmers.EOF så vil den tage det først så længe den finder 0 eller 1 post, og vis mere end 1 så tage else. vilket jeg ikke vil have.

Hvis den finder en post hvor farmer er = formen og item er lig formen, så skal den
farmamount = CInt(farmers("antal")) + CInt(request.Form("amount"))
    SQLFaUpdate = "UPDATE farmers SET antal = " & farmamount & " WHERE id = " & farmers("id")
    Conn.Execute(SQLFaUpdate)
og hvis den ingen finder så
SQLfaAdd = "INSERT INTO farmers (farmer, item, antal) VALUES('" & request.form("farmer") & "', '" & request.Form("itemname") & "', " & request.Form("amount") & ")"
    Conn.Execute(SQLfaAdd)
Avatar billede nielle Nybegynder
26. juli 2005 - 18:58 #15
farmers.EOF skulle helst ikke være sand selv hvis der kun er en række. Først efter en farmers.MoveNext.
Avatar billede superraider Nybegynder
26. juli 2005 - 19:18 #16
ok, jeg skal lige raid i world of warcraft, kigger vider på det efter 0000, tak ind til videre
Avatar billede ksoren Nybegynder
26. juli 2005 - 19:19 #17
Avatar billede superraider Nybegynder
27. juli 2005 - 02:55 #18
har ændret det til de forslag nielle, men samme fejl.  det er altså denne her der er noget galt med
SQL = "SELECT * FROM items where [farmer] = '" & request.form("farmer") & "' AND [item] ='" & request.form("itemname") & "'"
Avatar billede ksoren Nybegynder
27. juli 2005 - 03:04 #19
Har du kontrolleret, at felterne 'farmer' og 'item' er stavet helt på samme måde i din database?
Avatar billede superraider Nybegynder
27. juli 2005 - 03:30 #20
lol, jeg har fundet fejlen, noob, forkert tabel jeg prøver i-  sry
Avatar billede busschou Praktikant
27. juli 2005 - 08:39 #21
lol og det kunne man så have fundet ud af allerede 26/07-2005 17:50:43 ;o)
Hva faen det kan vel ske for det bedste engang imellem :o)
Ved ikke om du ønsker svar men her er da et i hvert fald
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Vil du være med til at opbygge og udvikle Forsvarets dronekapacitet?

Forsvarsministeriets Materiel- og Indkøbsstyrelse

SAP Bruger- og rolleadministrator ved Forsvarsministeriets Regnskabsstyrelse

Forsvarets Efterretningstjeneste

FE søger PKI-specialist

Forsvarets Efterretningstjeneste

IT-direktør til Forsvarets Efterretningstjeneste