Avatar billede cocakaj Nybegynder
30. oktober 2001 - 16:40 Der er 8 kommentarer og
1 løsning

ASP og databaser

Yo der!

Jeg ved godt at jeg har spurgt om disse ting før, men har aldrig fået et svar. Det er måske utroligt svært siden ingen af de gode kan hjælpe...

Jeg skal have et script som kan minuse et tal i HTML el. FORM, med et tal som står i databasen.

Også skal jeg også have et script til at tjekke om brugernavnet, og så endten oprette brugeren eller sige at der er en bruger i forvejen.

Håber at jeg får hjælp denne gang! *krydser fingre*
Avatar billede nute Nybegynder
30. oktober 2001 - 17:44 #1
1) hva mener du med \"minus et tal i HTML el. FORM, med et tal som står i databasen\" ?? Skal dette gjøres når man klikker på en knapp, skal det gjøres ved utskrift av siden ?

2)

<%
Dim userName, Conn, dbConn
dbConn = \"SERVER=local; DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"db.mdb\")
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open dbConn

userName = Request(\"userName\")

SQL = \"SELECT * FROM tabell WHERE userName LIKE \'\" & userName & \"\'\"
Set RS = Conn.Execute( SQL )

if( RS.EOF OR RS.BOF ) then
  SQL = \"INSERT INTO tabell (userName) VALUES( \'\" & userName & \"\', 1 )\"
    Conn.Execute( SQL )
    response.write(\"Bruker opprettet\");
else
      response.write(\"Det finnes en bruker i databasen\")
end if
RS.Close
Set RS = nothing
Conn.close
Set Conn = nothing
%>

/nute
Avatar billede webberen Nybegynder
31. oktober 2001 - 16:10 #2
Jeg mener at, endten skal man kunne skrive et tal fx. 10 i en form og trykke \"minus\", så trækker den de 10 fra tallene i databasen (10-database).

Men det gør ikke noget hvis man bare kan skrive tallet fast i HTML. Altså så når man åbner siden, så bliver tallet minuset i databasen.

Håber du forstod det! :-)
Avatar billede webberen Nybegynder
31. oktober 2001 - 16:14 #3
          <% mode = request(\"mode\") %>
                  <%
Const adOpenKeyset = 1
Const adLockOptimistic = 3
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"../db/database.mdb\") & \";UID=admin;PWD=;\"

    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"Select * From users\"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
%>
                  <% if mode =\"\" then %>
                <form action=\"signin.asp?mode=tilfojet\" method=\"post\">
                  <center>
                    <font face=tahoma size=2>
                    <div align=\"center\">
             
      <table width=\"400\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\" class=\"bottom\" align=\"center\">
        <tr>
          <td><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Email:</font><br>
            <input type=\"text\" name=\"email\" maxlength=\"100\" class=\"bottom\">
          </td>
          <td width=\"251\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Units:</font</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td width=\"251\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>
            <input type=\"Submit\" value=\"Tilf&oslash;j\" name=\"Submit\">
            </b></font></td>
        </tr>
      </table>
              <br>
              <b><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\" class=\"mehr_platz\">
              </font></b> <br>

                    </div>
                    </font>
                  </center>
                  <br>
                </form>
               
<% end if %>
<% if mode =\"tilfojet\" then

      rs.AddNew
      rs(\"username\") = Request.form(\"email\")
      rs(\"e-mail\") = Request.form(\"email\")
rs(\"dato\") = date()
      rs(\"klokken\") = time()
      rs.Update
%>
Bruger oprettet.
<% end if %>
</body>
</html>

Hvordan vil du lave systemet, med at tjekke om brugeren er oprettet?
Avatar billede nute Nybegynder
31. oktober 2001 - 16:29 #4
Du bytter denne linje kode:

<% if mode =\"tilfojet\" then

      rs.AddNew
      rs(\"username\") = Request.form(\"email\")
      rs(\"e-mail\") = Request.form(\"email\")
      rs(\"dato\") = date()
      rs(\"klokken\") = time()
      rs.Update
%>
Bruger oprettet.
<% end if %>

med denne:

<%
if mode =\"tilfojet\" then
  userName = Request(\"userName\")

  SQL = \"SELECT * FROM tabell WHERE userName LIKE \'\" & userName & \"\'\"
  Set RS = Conn.Execute( SQL )

  if( RS.EOF OR RS.BOF ) then
    SQL = \"INSERT INTO tabell (userName, e-mail, dato, klokken) VALUES( \'\" & userName & \"\', \'\" & email & \"\',\'\"& date() & \"\',\'\" & time & \"\' )\"
    Conn.Execute( SQL )
    response.write(\"Bruker opprettet\");
  else
      response.write(\"Det finnes en bruker i databasen\")
  end if
end if

det eneste du skal forandre er navnet på din tabell.

/nute
Avatar billede cocakaj Nybegynder
31. oktober 2001 - 18:03 #5
Hej nute

Nu har jeg gjort det, men fik en besked som lyder:
Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e14\'

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

/bruger/signin.asp, linje 53

Og linje 53 er: Conn.Execute( SQL )

Men her er noget mere af scriptet:
  if( RS.EOF OR RS.BOF ) then
    SQL = \"INSERT INTO users (username, e-mail, units, dato, klokken) VALUES( \'\" & email & \"\', \'\" & email & \"\',\'\"& units & \"\',\'\"& date() & \"\',\'\" & time() & \"\' )\"
    Conn.Execute( SQL )
    response.write(\"Bruker opprettet\")
  else
      response.write(\"Det finnes en bruker i databasen\")
  end if
end if %>
Avatar billede nute Nybegynder
31. oktober 2001 - 18:24 #6
sett et mellomrom mellom VALUES og ( :

SQL = \"INSERT INTO users (username, e-mail, units, dato, klokken) VALUES ( \'\" & email & \"\', \'\" & email & \"\',\'\"& units & \"\',\'\"& date() & \"\',\'\" & time() & \"\' )\"
Avatar billede cocakaj Nybegynder
02. november 2001 - 16:05 #7
Virker ik
Avatar billede cocakaj Nybegynder
06. november 2001 - 16:45 #8
Ok jeg fik svaret på en anden måde
Avatar billede nute Nybegynder
06. november 2001 - 16:51 #9
hmmm....du kan gjerne forklare hva løsningen var ?!?!
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