Avatar billede mskjoldp Novice
08. marts 2006 - 22:18 Der er 1 kommentar og
1 løsning

update sql

Hey E

Hvad skal jeg skrive i UPDATE kode for opdatere en db, ud fra denne form-opsætning? Formen er fint udfyldt fra db'en. Jeg mangler at lave en "dynamisk" UPDATE SQL.

<body onunload="opener.location.reload(true);">
<%    if mode = "edit" Then
        If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
            hvilken = request.querystring("id")

HVAD SKAL DER STÅ HER?           

%>
<!--            <script type="text/JavaScript">window.close()</script> -->
    <%    else 'post
            if request.QueryString("id") <> "" then
                hvilken = request.querystring("id")%>
                <div class="left">
                    <form action="default.asp?mode=edit&id=<%=hvilken%>" method="post">
                        <table>
                        <%    Dim tal
                            rs_select_1(3) 'start db
                            for each x in rs.fields
                                if x.name <> "aircraft_id" then
                                    DBName = DBName & (x.value) & ";"
                                    tal = tal + 1
                                end if
                            next
                            rs_end() 'end db
                            DBName = Split(DBName,";")%>
                            <table style="position:absolute; top:5px; left:0px;">
                        <%    for a = 0 to tal %>
                                <tr height="22px">
                                    <td><%=DBName(a)%></td>
                                </tr>
                        <%    next %>
                            </table>
                            <table style="position:absolute; top:5px; left:81px;">
                        <%    rs_select_x(hvilken) 'start db
                            for each x in rs.fields
                                if x.name <> "aircraft_id" then%>
                                    <tr>
                                        <td><input type="text" value="<%=x.value%>" name="<%=x.name%>" style="width:260px;"></td>
                                    </tr>
                            <%end if
                            next
                            rs_end()%>
                            <tr>
                                <td colspan="2" align="right"><input type="submit" value="Update" style="height:18px;"></td>
                            </tr>
                        </table>
                    </form>
                </div>
        <%    end if 'id
        end if 'post
    end if%>
</body>
Avatar billede mskjoldp Novice
09. marts 2006 - 20:46 #1
hvad er der galt med denne SQL str?

            For each X in Request.Form
            strColumn = strColumn & "'" & x & "',"
            strValues = strValues & "'" & Request.Form( x ) & "',"
            Next
            strColumn = Left(strColumn, len(strColumn)  - 1)
            strValues  = Left(strValues , len(strValues)  - 1)
            SQL = "UPDATE aircraft SET [" & strColumn & "] VALUES [" & strValues & "] WHERE aircraft_id=" & hvilken
            rsConn.EXECUTE(SQL)

når outputtet lyder:

UPDATE aircraft SET ['ac_location','info9','info12','ac_base','ac_statusnr','ac_statuscolor','info4','info11','ac_country','info6','info18','ac_type','info10','ac_name','info5','info1','info17','info2','info15','info3','info13','info7','info16','info8','info14','info19','info20'] VALUES ['','','','1','1','1','','','1','','','1','','1','','','','','','','','','','','','',''] WHERE aircraft_id=34

og fejlebeskrivelsen lyder:

Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14'

[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i UPDATE-sætningen.


der referere til:
rsConn.EXECUTE(SQL)
Avatar billede mskjoldp Novice
09. marts 2006 - 21:01 #2
lukker med denne kode som svar:

            rs_select_up(hvilken)
            Set rs = Server.CreateObject("ADODB.Recordset")
            strSQL = "SELECT * FROM aircraft WHERE aircraft_id=" & hvilken
            rs.Open strSQL, rsConn, 1, 3
                If Not rs.Eof Then
                    For each X in Request.Form
                    rs(x) = Request.Form( x )
                    Next
                    rs.Update
'                    Response.Redirect("default.asp?mode=view")
                Else
                    Response.Write("<b><font color='red'>Fejl i opdateringen</font></b><br>")
                End if
            rs_end()
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