Avatar billede mskjoldp Novice
23. januar 2006 - 22:54 Der er 4 kommentarer og
1 løsning

insert skal acceptere mellemrum i form

Hey E

ASP/IIS/ACCESS/IE

fejlen lyder:
Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14'

[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket (reference til den input der sender et mellemrum).


hvordan får jeg nedenstående kode til at acceptere et mellemrum i form inputs?

if mode = "make" then
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then   
    dim SQL
    rs_select(1)
        SQL = "INSERT INTO aircraft ("
        for each x in rs.fields
            if x.name <> "aircraft_id" then
                if Request.Form("" & x.name) <> "" then
                    SQL = SQL & x.name &","
                else
                    SQL = SQL
                end if
            end if
        next
        SQL = left(SQL, len(SQL) -1)
        SQL = SQL & ") VALUES ("
        for each x in rs.fields
            if x.name <> "aircraft_id" then
                if Request.Form("" & x.name) <> "" then
                    SQL = SQL & Request.Form("" & x.name) & ","
                else
                    SQL = SQL
                end if
            end if
        next       
        SQL = left(SQL, len(SQL) -1)
        SQL = SQL & ")"
        rsConn.EXECUTE(SQL)
        Response.Redirect("default.asp?mode=view")
    rs_end()
    else 'post%>
    <div class="left">
    <form action="default.asp?mode=make" method="post">
    <table>
    <%    rs_select_1(3) 'start db
        for each x in rs.fields
            if x.name <> "aircraft_id" then%>
                <tr>
                    <td><%=x.value%></td>
                    <td><input type="text" value="" name="<%=x.name%>"></td>
                </tr>
        <%    end if
        next
        rs_end()%>
        <tr>
            <td colspan="2" align="right"><input type="submit" value="Create" style="height:18px;"></td>
        </tr>
    </table>
    </form>
    </div>
<%    end if 'post
end if 'make
%>
Avatar billede nielle Nybegynder
23. januar 2006 - 23:17 #1
for each x in rs.fields
            if x.name <> "aircraft_id" then
                if Request.Form("" & x.name) <> "" then
                    SQL = SQL & "'" & Request.Form("" & x.name) & "',"
                else
                    SQL = SQL
                end if
            end if
        next
Avatar billede nielle Nybegynder
23. januar 2006 - 23:18 #2
Felter som indeholder tekst - og dermed også kan ingeholde mellemrum - skal omgives med '-tegn for at angive hvor de starter og slutter.
Avatar billede nielle Nybegynder
06. februar 2006 - 18:48 #3
Hvad med noget respons?
Avatar billede mskjoldp Novice
07. februar 2007 - 09:43 #4
bedre sent end aldrig !-)

svar plz nielle

løsningen:
<%
if mode = "make" then
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then   
    dim SQL
    rs_select(3)
        SQL = "INSERT INTO aircraft ("
        for each x in rs.fields
            if x.name <> "aircraft_id" then
                if Request.Form("" & x.name) <> "" then
                    SQL = SQL & x.name & ","
                elseif Request.Form("" & x.name) = "" then
                    SQL = SQL & x.name & ","
                end if
            end if
        next
        SQL = left(SQL, len(SQL) -1)
        SQL = SQL & ") VALUES ("
        for each x in rs.fields
            if x.name <> "aircraft_id" then
                if Request.Form("" & x.name) <> "" then
                    SQL = SQL & "'" & Request.Form("" & x.name) & "',"
                elseif Request.Form("" & x.name) = "" then
                    SQL = SQL & "'" & Request.Form("" & x.name) & "',"
                end if
            end if
        next       
        SQL = left(SQL, len(SQL) -1)
        SQL = SQL & ")"
        rsConn.EXECUTE(SQL)
        Response.Redirect("default.asp?mode=view")
    rs_end()
    else 'post%>
    <div class="left">
    <form action="default.asp?mode=make" method="post">
    <table>
    <%    rs_select_1(3) 'start db
        for each x in rs.fields
            if x.name <> "aircraft_id" then
            varSplit = x.value
            if left((right(x.value,7)),1) = "#" then
                antal = len(x.value) - 7
                varSplit = left(x.value,antal)
                varSplitColor = right(x.value,7)
            else
                varSplitColor = ""
            end if
            %>
                <tr>
                    <td><%=varSplit%></td>
                    <td><input type="text" value="" name="<%=x.name%>"></td>
                </tr>
        <%    end if
        next
        rs_end()%>
        <tr>
            <td colspan="2" align="right"><input type="submit" value="create" style="height:18px;"></td>
        </tr>
    </table>
    </form>
    </div>
<%    end if 'post
end if 'make
%>
Avatar billede nielle Nybegynder
07. februar 2007 - 22:22 #5
Svar :^)
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