18
Tags:
asp
Skrevet af
Bruger #3565
@ 24.03.2003
Indhold
1. Kontakt med MySQL database (det jeg kan lide at kalde en "snabel")
2. Eksempel på at trække noget ud af databasen
3. Små "need to know how" om SQL sproget ved MySQL (ting der er andeledes i forhold til Acces og MsSQL)
1. Kontakt med MySQL database
Selve det at få en "snabel" ned i en MySQL database er i teorien ikke anderledes end ved en MsSQL,
Det går vi lige igennem
Når du skal connecte til en database skal du bruge følgende:
Driver: {mySQL ODBC 3.51 Driver}
'Dette er de driver jeg har installeret på min server til MySQL, og de kan hentes på www.mysql.org, har du webhotel er der sikkert infomationer om dette et sted i en FAQ eller hjælpe side på dit hotels web adresse.
Server: en ip eller en DNS adresse
Database: navnet på den database på serveren du vil havde en "snabel" i
UID: dette er en bruger der oprettet i databasen
Password: passwordet til den bruger
så skulle det være på plads så nu sætter vi det lige sammen også går vi ellers videre.
Koden til at lave denne "snabel" kan se således ud
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={MySQL ODBC 3.51 Driver}; Server=webbandit.dk; Database=database; UID=brugernavn; PWD=password;"
%>
Eksempel på at trække noget ud af databasen
Nu har vi så et hul ned så er det jo oplagt at vise hvordan man kan bruge det så det gør vi lige hurtigt
Vi forstiller os at vi i databsen som vi har en "snabel" i er en tabel der heder [artikler].
i tabelen er er der nogle data felter der hedder [id/int(5)Autoincrease] [forfatter/text(40)], [overskrift/text(200)] og [brdtext/blob] (før / er navnet og efter er datatypen talet imellem () er antal tegn. og her efter er specielle egenskaber)
Der er en hel spand af artikler i tabelen og dem vil vi gerne havde smidt ud
så nu lidt simpel kode igen
<%
'SQL streng
SQL = "SELECT forfatter, overskrift, brdtext FROM artikler" 'her kunne vi godt havde brugt * men så loader vi også id med ned og den skal vi ikke bruge
'også køre vi og koger det hele ned i RS :)
Set RS = objConn.Execute(SQL)
'hvis nu at der ikke er nogen artikler skal siden jo ikke være tom
If RS.EOF then
Response.write "Der var ingen artikler i databasen :("
Else
Do While NOT RS.EOF
' så afslutter vi asp koderne for det er nemmer at arbejde med html udenfor asp koderne
%>
<!-- her kunne være lidt smarte tabeler og alt muligt men da det ikke er det artiklen handler om springer vi det over og udskriver bare vores informationer-->
<%=RS("Overskrift")%> af <%=RS("forfatter")%><br>
<%=RS("brdtext")%><hr>
<%
RS.MoveNext
Loop
' Sådan nu har vi et skide smart og dødlækkert artikel system :)
%>
Små "need to know how" i SQL sproget ved MySQL
Hvis du indtil nu har arbejdet med Acces eller MsSQL så er der nogle få ting i der skal gøres anderledes, her er nogen af dem.
du kender sikkert godt TOP som bruges til at kontrolere hvor mange poster du udskriver, og problemet er såresimpel: MySQL kender den ikke.
Men problemet er nemt at løse, nemlig med funktionen LIMIT, som skal komme i enden af SQL strængen.
eks. hvis en acces eller MsSQL SQL stræng ser således ud
SELECT TOP 30 * FROM table DESC
Vil den med MySQL SQL se således ud
SELECT * FROM table DESC LIMIT 30
Sådan findes der flere eksempler, så en gang imellem er det nødvendigt lige at hente lidt hjælp hos www.mysql.org
God fornøjelse.
Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.
Del også gerne artiklen med dine Facebook venner:
Kommentarer (8)
Nu hvor du endelig hiver limit frem, hvorfor fortæller du så ikke om fordelene ved limit? F.eks. at du kan styre hvorfra man begynder med at hive ud? Så det gør jeg lige. Hvis man bare vil sætte en "limit" så ser syntaksen ud som beskrevet i artiklen, men hvad nu hvis man vil starte fra 5. post? så gør man sådan "SELECT * FROM table DESC LIMIT 5, 30" Sådan er det bare.
Kaare nice.. det har jeg meget simpelt ikke med for det viste jeg ikke..
men nu kan jeg pludselig se en nem måde at lave paging på
Jeg syntes det er godt du har skrevet denne artiklen, for jeg tror der er en del nybegyndere som har brug for denne information. Jeg er lidt nybegynder inden for det. Det var lige den inforamtion jeg havde brug for :-)
Frede_manden, det glæder mig at den har været til gavn
Er nybegynder til ASP, så skal lige lære det..
Men er der ikke en simplere måde hvis man bare skal connecte til MySQL??? Og hvor skal man sætte koden ind henne??? Undskyld hvis det var et dumt spørgsmål, men vil bare lære noget
Lige hvad jeg havde brug for
5 her fra!
Jeg syntes det lyder fornuftigt det hele..
Jeg prøver at lave et login system hvor man skal kunne ændre sin profil og så kunne opdatere den og se den på en anden side..
Men den vil vidst ikke have mig til at sidde og rode med det. det går bare ikke.
Kunne man muligvis få lidt hjælp fra nogle med mere ekspertise ?
- en 4´er
OMG niice ..
Lige hvad jeg manglede.. For jeg er ved at være FUCKING træt af access..
næsten alle de fejl der kommer er noget med at databasen ikke er placeret det sted udbyderen siger, og db'en er stædig, og stresset, og træt, og gider ikke mere.. tror MySQL lyder fornuftigt ..
Håber at I vil hjælpe mig for fremtiden hvis jeg stiller mange SPG's i forumet..
5 herfra !!!
Med venlig hilsen
Daniel
Du skal være
logget ind for at skrive en kommentar.