Avatar billede brops Nybegynder
01. maj 2003 - 11:08 Der er 25 kommentarer og
3 løsninger

database udtræk fra access

hvor dan laver jeg et udtræk fra en access database i ASP@JAVASCRIPT. jeg har siden med database connection og det hele... men skal have lavet et udtræk fra en forespørgsel som indenholde følgende poster...

forespørgslens navn: Clan

poster:
Clan
Clantag
IRC
HP
Avatar billede Slettet bruger
01. maj 2003 - 11:14 #1
http://www.html.dk/tutorials/asp/

lektion 17-22

god fornøjelse
Avatar billede mm12010 Nybegynder
01. maj 2003 - 11:19 #2
hvad hedder din tabel?
Avatar billede brops Nybegynder
01. maj 2003 - 11:19 #3
ja tak har jeg ligget på men problemet er at det er i VB og ikk javascript jeg har skrevet hele sitet i javascript..
Avatar billede brops Nybegynder
01. maj 2003 - 11:19 #4
tabel: person
Avatar billede brops Nybegynder
01. maj 2003 - 11:20 #5
ligget = kigget
Avatar billede brops Nybegynder
01. maj 2003 - 11:23 #6
indhold af tabellen person er
brugerID
Clan
Clantag
navn
Adresse
Postnummer
City
email
tform
IRC
Hp
pass
passA
Avatar billede eagleeye Praktikant
01. maj 2003 - 11:26 #7
Selve SQL delen er den samme om det er Javascript eller VBscript.

Så en SQL sætning til at hendte det heke fra databasen og alle kolonne kunne  være, en * angiver alle kolonner:

SQL = "SELECT * FROM person"
Avatar billede mm12010 Nybegynder
01. maj 2003 - 11:26 #8
ID = parseInt(Request.QueryString("ID"));

strSQL = "SELECT * FROM person WHERE brugerID = "+ID;

rs = conn.Execute(strSQL);
Avatar billede eagleeye Praktikant
01. maj 2003 - 11:27 #9
Der skal så ; efter linjen i Javascritp :)

Hvis du kun vil hendte nogle kolonner skrive du bare dem i stedet for en * med komma imellem eks:

SQL = "SELECT Clan, Clantag, navn, Adresse, Postnummer, Hp FROM person";
Avatar billede eagleeye Praktikant
01. maj 2003 - 11:32 #10
Hvis du er i tvivl omkring SQL kan du bruge ½-1 time på at kigge disse  sider igennem de giver faktisk et godt overblik over hvad SQL bla kan bruges til:
http://www.w3schools.com/sql/

Du kan så kigge spcielt på SELECT, WHERE samt ORDER BY siderne til at trækker data ud af en database.

Eksvis hvis du vil havde dit udtræk sådan at alle i en clan står samme og clan i rækkefølge kan du bruger ORDER BY.

SQL = "SELECT * FROM person ORDER BY clan"
Avatar billede brops Nybegynder
01. maj 2003 - 11:59 #11
det med at trække dem ud har jeg rimelig styr på nu har lavet denne linie:
SQL = "SELECT Clan, Clantag, IRC, Hp, navn FROM person ORDER BY Clan
men hvordan skriver den så det den trækker ud se evt. her http://www.eksperten.dk/spm/346621
Avatar billede mm12010 Nybegynder
01. maj 2003 - 12:07 #12
<%
strSQL = "SELECT * FROM person ORDER BY clan";
rs = conn.Execute(strSQL);

while(!rs.EOF){
%>
  <tr>
    <td><%=rs.Fields("Clan")%></td>
  </tr>
  <%
    rs.MoveNext();
    }
%>
Avatar billede brops Nybegynder
01. maj 2003 - 12:21 #13
har sat det ind således...  SQL = "SELECT Clan, Clantag, IRC, Hp, navn FROM person ORDER BY Clan";

      rs = con.Execute(strSQL);

while(!rs.EOF){
%>
 
    <%=rs.Fields("Clan")%>
 
  <%
    rs.MoveNext();
    }
      %>
men den kommer med følg fejl:
Fejltype:
Der opstod en Microsoft JScript-kørselsfejl (0x800A1391)
'strSQL' er ikke defineret
/Clanoversigt.asp, line 76
Avatar billede brops Nybegynder
01. maj 2003 - 12:22 #14
da conn ikk er defineret i JVScript er det rettet til con :)
Avatar billede mm12010 Nybegynder
01. maj 2003 - 12:22 #15
rs = con.Execute(SQL);
Avatar billede brops Nybegynder
01. maj 2003 - 12:27 #16
self.... så lige den her hvis jeg vil have det til at være et link er det så
<a href=irc://irc.quakenet.eu.org:6667/<%=rs.Fields("Clan")%>><%=rs.Fields("Clan")%></a>
Avatar billede brops Nybegynder
01. maj 2003 - 12:28 #17
behøver du ikk svare på det er det..:)
Avatar billede mm12010 Nybegynder
01. maj 2003 - 12:28 #18
jepper
Avatar billede mm12010 Nybegynder
01. maj 2003 - 12:30 #19
og så lige et svar :o)
Avatar billede brops Nybegynder
01. maj 2003 - 12:33 #20
jeg holder den lige åben...
men du skal nok få pointne mm12010 lige en ting til jeg lege med på min forside at vil have en counter der fortæller hvor mange claner der er tilmeldt det ser således ud:
<p align="center"><font size="3" face="Verdana">Der er ligenu tilmeldt:
        <% SELECT COUNT (*) FROM person
        %> Claner </font> </p>

Hvad er der galt i den???
Avatar billede mm12010 Nybegynder
01. maj 2003 - 13:05 #21
<%
strSQL = "SELECT COUNT (*) AS antal FROM person";
rs = con.Execute(strSQL);
%>
<p align="center"><font size="3" face="Verdana">Der er ligenu tilmeldt: <%=rs.Fields("antal")%> Claner </font> </p>
Avatar billede brops Nybegynder
01. maj 2003 - 13:05 #22
ok :)
Avatar billede brops Nybegynder
01. maj 2003 - 13:18 #23
det er rart når folk kan hjælpe ved godt der er uden for SPG men jeg har en form der hedder BRugertilmelding noget men hvis de lader et felt stå tomt få de en fejl er det noget jeg kan rette i min accesdatabase kva http://www.html.dk/tutorials/asp/lektion20.asp det med tillad nullværdi??
Avatar billede mm12010 Nybegynder
01. maj 2003 - 13:31 #24
jepper tillad nullværdi og obligatorisk: nej

og så:

    bruger = String(Request.Form("brugertilmelding"));
    if((bruger == "undefined")||(bruger == "")){
        bruger = "";
        }
Avatar billede brops Nybegynder
01. maj 2003 - 13:34 #25
ok det der skal sættes ind i min modtag.asp men hvor???
min modtag ser sådan ud:
<% @Language=JavaScript %>
<%
function createDatabaseConnection() {
  con = Server.CreateObject("ADODB.Connection");
  con.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("db/database.mdb")+";");
  return con;
}

function toSqlDate(date) {
  return "'" + date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getYear() + "'";
}
%>
<%
  function strcmp(s1, s2) {
    if  (s1.lenght != s2.length) {
      return false;
    }

    for (i = 0; i < s1.length; i++) {
      if (s1[1] != s2[i]) {
        return false;
      }
    }
    return true;
  }
%>
<%
  OK = 0;
  FORKERT_KODEORD = 1;
  BRUGER_EKSISTERER = 2;
  UGYLDIG_EMAIL = 3;

  con = createDatabaseConnection();

  // kontroller om bruger er logget ind...
  brugerID = -1
  if(Request.Cookies("person") !="") {
    brugerID = opdaterperson(Request.Cookies("person"));
  } else {
    brugerID = tilfojperson();
  }
printResult (OK);

  function opdaterperson(brugerID) {
    sql = "UPDATE person SET ";
    sql += "Clan='" + Request.Form("Clan") + "', ";
    sql += "Clantag='" + Request.Form("Clantag") + "', ";
    sql += "navn='" + Request.Form("navn") + "', ";
    sql += "Adresse='" + Request.Form("Adresse") + "', ";
    sql += "Postnummer='" + Request.Form("Postnummer") + "', ";
    sql += "City='" + Request.Form("City") + "', ";
    sql += "email='" + Request.Form("email") + "', ";
    sql += "IRC='" + Request.Form("IRC") + "', ";
    sql += "Hp='" + Request.Form("Hp") + "', ";
    sql += "tform='" + Request.Form("tform") + "', ";
    sql += "pass='" + Request.Form("pass") + "'";
    sql += " WHERE brugerID=" + brugerID;
    con.execute(sql);
    return brugerID;
  }

  function tilfojperson(brugerID) {
  // kontroller
    if (!strcmp(Request.Form("pass"),Request.Form("passA"))) {
      printResult(FORKERT_KODEORD);
    }
 
    // kontroller om brugernavnet allerede eksistere
    res = con.execute("SELECT brugerID FROM person WHERE email='" + Request.Form("email") + "'");
    if (!res.EOF) { // brugeren eksisterer
      printResult(BRUGER_EKSISTERER);
    }

  // Kontroller om email er gyldig
    Valid_EMail=false;
    email=""+Request.Form("email");
    if (email=="undefined") {
        email="";
    }
    if (email!="") {
        eRegEmail=new RegExp("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,3}$","gi");
        test=email.match(eRegEmail);
        if (test==email) {
            Valid_EMail=true;
        }
    }
    if (!Valid_EMail) {
      printResult(UGYLDIG_EMAIL);
    }
 
    sql = "INSERT INTO person (Clan, Clantag, navn, Adresse, Postnummer, City, email, IRC, Hp, tform, pass) VALUES(";
    sql += "'" + Request.Form("Clan") + "', ";
    sql += "'" + Request.Form("Clantag") + "', ";
    sql += "'" + Request.Form("navn") + "', ";
    sql += "'" + Request.Form("Adresse") + "', ";
    sql += "'" + Request.Form("postnummer") + "', ";
    sql += "'" + Request.Form("City") + "', ";
    sql += "'" + Request.Form("email") + "', ";
    sql += "'" + Request.Form("IRC") + "', ";
    sql += "'" + Request.Form("Hp") + "', ";
    sql += "'" + Request.Form("tform") + "', ";
    sql += "'" + Request.Form("pass") + "')";
   
    con.execute(sql);
    res = con.execute("SELECT brugerID FROM person WHERE email='" + Request.Form("email") + "'");
    return res.Fields("brugerID");
  }
 
  function printResult(status) {
%>
<html>
<head>
<title>The E League</title>
</head>
<body bgcolor="#FFFFFF" background="/images/bagg.png">

<td> <font size="3" face="Verdana">
  <%
  if (status == OK) {
%>
  </font><font size="3" face="Verdana">

<%
JMail = Server.CreateObject("JMail.SMTPMail");
JMail.ServerAddress = "smtp.mail.dk"
JMail.Sender = "jonas_skovmose@mail.dk"
JMail.Subject = "Brugerinfo fra The E League"
JMail.SenderName = "The E League"
JMail.AddRecipient (Request.Form("email"))
JMail.AddRecipient ("jonas_skovmose@mail.dk")
JMail.ContentType = "text/html"
JMail.Body = "<body bgcolor=#3161ce> Hej <br> <br> Dette er en bekræftelse på at du har tilmeldt dig The E league <br>Der vil hurtigst mulig blive sendt en mail ud med dine bruger info, ellers kan du kontakte Brops op <a href=irc:///#The-E>#The-E</a><br><br>Der bliver sendt en mail ud med oplysninger om hvem der er i hvilke puljer.<br><br>MVH <a href=www.the-e-league.dk>The E League</a>"
JMail.Priority = 3
JMail.Execute()
%>
</font> 
<h1><font size="3" face="Verdana">Brugerbekræftelse</font></h1>
  <font size="3" face="Verdana"> Dine Brugerdata er nu afsendt, <br>
  brugerID: <%=brugerID%><br>
  Email: <%=Request.Form("email")%> <br>
  Password: <%=Request.Form("pass")%> <br>
  Hvis der ikke står noget password er du ikke gemt i brugerdatabasen. Dette navn
  skal du du bruge når du logger ind, stiller spørgsmål til ligaen, og indberetter
  resultater mm. Eventuelle Spørgsmål og kommentare kan du sende til <a href=mailto:jonas_skovmose@mail.dk>jonas_skovmose@mail.dk</a>
  "mærk" emnet "The E League". </font> <p><font size="3" face="Verdana">Tak for
    din interesse for ligaen...</font></p>
  <p><font size="3" face="Verdana">Vend tilbage til ligaen for at logge ind <a href=default.asp>her</a></font></p>
  <font size="3" face="Verdana">
  <%
  } else if (status == FORKERT_KODEORD || status == BRUGER_EKSISTERER || status == UGYLDIG_EMAIL) {
%>
  </font> <h1><font face="Verdana">Fejl</font></h1>
  <font size="3" face="Verdana"> der opstod en fejl i forbindelse med afsending
  af din tilmelding til The E League. <br>
  Din tilmelding blev ikke afsendt </font> <p> <font size="3" face="Verdana">
    <%
    if (status == FORKERT_KODEORD) {
%>
    De to indtastet kodeord var ikke ens. Hvis det er fordi du har ladet begge
    felter været blanke er du <U><strong>ikke</strong></u> blevet registreret
    og vil derfor heller ikke komme til at deltage i ligaen. </font>
  <p><font size="3" face="Verdana">Klik <a href="#tilbage" onclick="history.go(-1);return false">her</a> for at
    komme tilbage til registreringsformen,</font></p>
  <font size="3" face="Verdana">
  <%
    } else if (status== BRUGER_EKSISTERER) {
%>
  Der er allerede registreret en Bruger med det angivet email (<%=Request.Form("email")%>). Hvis du allerede har registreret dig som bruger kan du <a href=_vti_pvt/login.asp>logge
  ind</a> ved at bruge dit Brugernavn og password, fra tidliger registrering.
  <br>
  Hvis ikke du kan huske dit password kan du få det tilsendt på en email fra <a href=_vti_pvt/login.asp>log
  ind-siden</a> (virker ikke endnu men send en mail til <a href="mailto:jonas_skovmose@mail.dk">jonas_skovmose@mail.dk</a>
  med dine bruger info s&aring; sender jeg passwordet til dig.)</font> <p><font size="3" face="Verdana">Hvis
    ikke det er dig der er registreret kan du indtaste et andet E-mail <a href="#tilbage" onclick="history.go(-1);return false">her</a></font></p>
  <font size="3" face="Verdana">
  <%
    } else {
%>
  Den indtastede e-mail er ikke gyldig. <a href="#tilbage" onclick="history.go(-1);return false">Gå
  tilbage</a> og prøv igen.</p>
  <%
    }
  }
%></font>
  </font></td>
<font size="3" face="Verdana"></tr> </table> </font>
</body>
</html>
<%
    Response.End();
  }
%>
Avatar billede mm12010 Nybegynder
01. maj 2003 - 13:59 #26
ligemeget bare det er inden du laver din SQL - og så skal du huske at det er 'bruger' du skal sætte ind i SQL'en
Avatar billede brops Nybegynder
01. maj 2003 - 14:00 #27
k kigger jeg på :)
Avatar billede brops Nybegynder
02. maj 2003 - 09:22 #28
satte lige nogen ekstra point af så eagleeye og questis oxo fik lidt for deres hjælp tak for hjælpen alle :)
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