Avatar billede excession Nybegynder
20. oktober 2001 - 01:54 Der er 20 kommentarer og
1 løsning

simpelt spørgsmål...

Hvad betyder :

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access-driver]Der er en fejl i rækken.
/bolignet/addBolig.asp, line 81


der er en fejl i rækken?

-- xs
Avatar billede cliche Nybegynder
20. oktober 2001 - 09:43 #1
Kom lige med linje 76-86
Avatar billede excession Nybegynder
20. oktober 2001 - 11:55 #2
<!--#include file=\"dbconnect.asp\"-->


Const adOpenKeyset = 1
Const adLockOptimistic = 3




If Request.Form(\"gem\") <> \"\" Then

        adresse = Trim(Request.Form(\"adresse\"))
        postnr = Trim(Request.Form(postnr))
        by = Trim(Request.Form(\"by\"))
        boligtyp = Trim(Request.Form(\"boligtyp\"))
        vaerelse = Trim(Request.Form(\"vaerelse\"))
        m2 = Trim(Request.Form(\"m2\"))
        plan = Trim(Request.Form(\"plan\"))
        sal = Trim(Request.Form(\"sal\"))
        netto = Trim(Request.Form(\"netto\"))
        brutto = Trim(Request.Form(\"brutto\"))
        kontant = Trim(Request.Form(\"kontant\"))
        udbetal = Trim(Request.Form(\"udbetal\"))
        skole = Trim(Request.Form(\"skole\"))
        indkoeb = Trim(Request.Form(\"indkoeb\"))
        info1 = Trim(Request.Form(\"info1\"))
        info2 = Trim(Request.Form(\"info2\"))
        info3 = Trim(Request.Form(\"info3\"))
        info4 = Trim(Request.Form(\"info4\"))
        info5 = Trim(Request.Form(\"info5\"))
        billede1 = Trim(Request.Form(\"billede1\"))
        billede2 = Trim(Request.Form(\"billede2\"))
        billede3 = Trim(Request.Form(\"billede3\"))
        billede4 = Trim(Request.Form(\"billede4\"))
        billede5 = Trim(Request.Form(\"billede5\"))
        billede6 = Trim(Request.Form(\"billede6\"))
        aabenhus = Trim(Request.Form(\"aabenhus\"))
        medarbej = Trim(Request.Form(\"medarbej\"))
        kundeid = Trim(Request.Form(\"kundeid\"))



strSQL = \"SELECT * FROM bolig WHERE (sagsnr=0)\"
Set rs = Server.CreateObject(\"ADODB.RecordSet\")

rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic



    If (rs.BOF OR rs.EOF) Then
            rs.AddNew
            rs(\"adresse\") = adresse
            rs(\"postnr\") = postnr
            rs(\"by\") = by
            rs(\"boligtyp\") = boligtyp
            rs(\"vaerelse\") = vaerelse
            rs(\"m2\") = m2
            rs(\"plan\") = plan
            rs(\"sal\") = sal
            rs(\"netto\") = netto
            rs(\"brutto\") = brutto
            rs(\"kontant\") = kontant
            rs(\"udbetal\") = udbetal
            rs(\"skole\") = skole
            rs(\"indkoeb\") = indkoeb
            rs(\"info1\") = info1
            rs(\"info2\") = info2
            rs(\"info3\") = info3
            rs(\"info4\") = info4
            rs(\"info5\") = info5
            rs(\"billede1\") = billede1
            rs(\"billede2\") = billede2
            rs(\"billede3\") = billede3
            rs(\"billede4\") = billede4
            rs(\"billede5\") = billede5
            rs(\"billede6\") = billede6
            rs(\"aabenhus\") = aabenhus
            rs(\"medarbej\") = medarbej
            rs(\"kundeid\") = kundeid
            rs.Update
    End If
    rs.Close
    Set rs = Nothing


end if
%>

-- xs
Avatar billede cliche Nybegynder
20. oktober 2001 - 17:34 #3
også dbconnect ellers kan jeg ikke finde linie 81 :)
Avatar billede excession Nybegynder
20. oktober 2001 - 18:21 #4
dbconnect.asp:

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"log\\bolignet.mdb\")
%>

:)

Hvis du kan finde ud af hvad jeg gør forkert vil jeg gerne give flere point

-- xs
Avatar billede excession Nybegynder
20. oktober 2001 - 18:22 #5
er det access db der er forkert sat op måske?
Avatar billede eagleeye Praktikant
20. oktober 2001 - 19:58 #6
er der noget i alle request.Form eller kan de være tomme?

Hvis de kan være tomme skal feltet i databasen være sat til Tillad-null-længde til ja og opligatorisk til Nej.
Avatar billede excession Nybegynder
20. oktober 2001 - 20:08 #7
der er noget i alle forms og det skal der være.. det skal lige laves om, men som den er nu skal de alle være udfyldt
Avatar billede rasmustest Nybegynder
21. oktober 2001 - 11:31 #8
Set Conn = Server.CreateObject(\"ADODB.Connection\")

DSN = \"DRIVER={Microsoft Access Driver (*.mdb)};\"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"log\\bolignet.mdb\")
Conn.Open DSN


Prøv det!
Avatar billede excession Nybegynder
21. oktober 2001 - 20:14 #9
det hjalp desværre ikke..

er der andre der foslag til hvad det kunne være?
Avatar billede frank_jensen Nybegynder
22. oktober 2001 - 18:19 #10
hvorfor bruger du ikke en SQL-Insert istedet for at knokle med recordsets ???
Avatar billede eagleeye Praktikant
22. oktober 2001 - 18:27 #11
Har du stavet alle feltet rigtigt ?
Avatar billede excession Nybegynder
22. oktober 2001 - 22:37 #12
er der nogen der bliver stødt hvis jeg lukker spørgsmålet uden at give point?

ellers så lukker jeg den imorgen formiddag

jeg har ikke fået problemet løst og jeg har ikke kunne få et tilfredsstillende svar, men jeg siger alligevel tak for hjælpen

-- xs
Avatar billede excession Nybegynder
22. oktober 2001 - 22:39 #13
jeg vil iøvrigt gerne give 100 point hvis i kan hjælpe med at få problemet løst..

-- xs
Avatar billede eagleeye Praktikant
22. oktober 2001 - 22:40 #14
Det er måske en vildt bud men prøv at ændre felt navnet by til bynavn. BY er reserveret ord i access.
Avatar billede excession Nybegynder
22. oktober 2001 - 22:44 #15
får stadig samme fejl:

fejl i rækken ved linie 81; rs.Update
Avatar billede frank_jensen Nybegynder
22. oktober 2001 - 23:52 #16
Brug en insert istedet, den vil (næsten) aldrig give fejl..  jeg har meget sjældent fået noget opdateret eller add\'ed med et recordsæt...

og BY er et reserveret ord, og kan derfor ikke bruges..

og har du fuldstændig tjek på dine parametere når du åbner recordsættet ??? FOrdi jeg forstå ikke din tankegang i koden...  du åbner et recordsæt med alle de rækker, der har sagsnr = 0, hvis hvis der ikke er nogle, eller du står med den første række, indsætter du en række (Hvori du ikke angiver sagsnr)...  det fatter jeg ikke... 

Er sagsnr en primærnøgle, og evt. som autonummering ? For så er det din fejl...    Når du add\'er på den måde, skal du også angive din primærnøgle...  SÅ hvis du bruger autonummering, kan du ikke add\'e med et recordsæt, og skal derfor bruge en insert....
Avatar billede excession Nybegynder
23. oktober 2001 - 00:07 #17
jeg vil lige sige at det er første gang jeg prøver at lave noget i ASP så jeg laver garanteret fejl.. mange.

grunden til sagsnr=0 er at jeg har set det i et eksempel og det ser ud til at virke fint i en anden asp side hvor man kan \"kontakte\" og hvor det så bliver tilføjet til db\'en med AddNew og hvor der forresten ikke bliver angivet sagsnr

sagsnr er primærnøgle og har autonummerering

kan du give mig et eksempel på insert?

-- xs
Avatar billede eagleeye Praktikant
23. oktober 2001 - 08:20 #18
hvis der er autonummer skal sagsnr ikke med i AddNew.


Eks på insert:

Alle felter som er defineret som tekst/notat I databasen skal der \' (pinger) omkring de data der indsættes.

strSQL = \"INSERT INTO bolig (adresse, postnr, [by], boligtyp, vaerelse, m2, plan, sal, netto, brutte, kontant, udbetal, skole, indkoeb, info1, info2, info3, info4, info5, billede1, billede2, billede3, billede4, billede5, billede6, aabenhus, medarbej, kundeid) VALUES (\"
strSQL = strSQL & \"\'\" & adresse & \"\', \"
strSQL = strSQL & \"\'\" & postnr & \"\', \"
strSQL = strSQL & \"\'\" & by & \"\', \"
strSQL = strSQL & \"\'\" & boligtyp & \"\', \"
strSQL = strSQL & \"\'\" & vaerelse & \"\', \"
strSQL = strSQL & \"\'\" & m2& \"\', \"
strSQL = strSQL & \"\'\" & netto & \"\', \"
strSQL = strSQL & \"\'\" & brutto & \"\', \"
strSQL = strSQL & \"\'\" & kontant & \"\', \"
strSQL = strSQL & \"\'\" & udbetal & \"\', \"
strSQL = strSQL & \"\" & skole & \", \"
strSQL = strSQL & \"\" & indkoeb & \", \"
strSQL = strSQL & \"\'\" & info1& \"\', \"
strSQL = strSQL & \"\'\" & info2 & \"\', \"
strSQL = strSQL & \"\'\" & info3 & \"\', \"
strSQL = strSQL & \"\'\" & info4 & \"\', \"
strSQL = strSQL & \"\'\" & info5 & \"\', \"
strSQL = strSQL & \"\'\" & billede1 & \"\', \"
strSQL = strSQL & \"\'\" & billede2 & \"\', \"
strSQL = strSQL & \"\'\" & billede3 & \"\', \"
strSQL = strSQL & \"\'\" & billede4 & \"\', \"
strSQL = strSQL & \"\'\" & billede5 & \"\', \"
strSQL = strSQL & \"\'\" & billede6 & \"\', \"
strSQL = strSQL & \"\'\" & aabenhus & \"\', \"
strSQL = strSQL & \"\'\" & medarbej & \"\', \"
strSQL = strSQL & \"\'\" & kundeid & \"\' \"
strSQL = strSQL & \");\"

Som du kan se har jeg antaget at skole og indkoeb er defineret som tal i databasen.
Avatar billede excession Nybegynder
23. oktober 2001 - 13:13 #19
hvad bruger man så? conn.Execute? ellre hvordan?

-- xs
Avatar billede excession Nybegynder
23. oktober 2001 - 19:49 #20
eagleye hvis du lige svarer får du nogle point
Avatar billede eagleeye Praktikant
24. oktober 2001 - 00:35 #21
Ja conn.Execute(strSQL)
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