Spørring SQL Server Med Node.js

La Oss Komme i Gang

jeg antar at du har node.js installert, men hvis ikke, kan den lastes ned her.

Vi starter med å sette opp noden vår.js Web Server og teste den. Legg deretter til lignende kode som før For Å Koble til OG Spørre VÅR SQL Server-Database.

Vi vil bruke Minimalistisk Web Server rammeverk for node.Js, Express. Den installeres som en npm-pakke.

Som med mange ting, det er alltid mer å lære så når jeg har du skriver en kommando, sikkert lese mer om kommandoen og det er alternativer.

Få Satt opp

  1. for prosjektet, opprett en katalog / mappe.
  2. Åpne Visual Studio Code (VSCode) og åpne mappen.
  3. Åpne Et Nytt Terminalvindu og skriv,
    npm init
    Godtar standardinnstillingene for å lage pakken din.json.

4. Opprett en fil I VSCode og lagre den som indeks.js. Hvis du ser i pakken din.json-filen, vil du se hvor du kan endre standard» hoved » – filen.

Grunnleggende startpunkt

5. I Terminal vindu type,
start npm
dette starter noden.js server.

Webserveren

I Terminalvinduet,
npm install express

dette installerer Webrammen.

Vi er klare til å rocke og rulle!kjernen i Webserveren er å kreve ekspresspakken og tilordne den til en holder (variabel eller const.) Alle referanser til Webserveren vil være gjennom denne innehaveren.

Vi må starte webserveren Og få den til å lytte på EN HTTP-port, jeg velger 5000. 8080 er vanlig, bare noe tilgjengelig.

Vi vil At Webserveren i det minste skal svare på EN HTTP get-metode. Dette vil tillate bruk å «sparke dekkene» og sørge for at det fungerer. DET er mer I HTTP-metoder her på MDN. VI bruker GET OG POST.

  • GET brukes til å hente fra en ressurs.
  • POST brukes til å sende til en ressurs.

Skriv inn følgende kode, og vi vil diskutere det.

Eksempel På Webserver

kjernen satt opp.
  • Vi krever eksprespakken, lagrer referansen i express by convention, men navngir den som ønsket.
  • Initialiser en forekomst av express, lagre referansen i app ved konvensjon, men navngi den som ønsket.
  • i linje 11 lagrer vi en referanse til hvor vår webserver vil lytte. Port 5000.
  • i linje 5 bruker VI HTTP GET uten forekomst av webserveren ved hjelp av app.få. Dette vil som standard se for å få data fra rotkatalogen (‘/’). Tilbakeringingsfunksjonen er ganske viktig da Den inneholder Request (req) og Response (res) objekter. Navnene req og res er etter konvensjon.

Forespørsel og Svar

  • Forespørsel kommer fra nettleserens url. Mer informasjon finner du her.
  • Svar er svaret på en forespørsel. Mer kan bli funnet her.

i et nøtteskall vil nettleseren vår gjøre En Forespørsel, og vi sender Tilbake Et Svar.

Spark Dekkene

  1. i VSCode, trykk F5 (kort For Start Feilsøking i Feilsøkingsmenyen.) Konsollen skal se slik ut.

Se etter konsollmeldingen. Toppen har kontroller for å stoppe / forfriskende, etc.

2. Gå Til Nettleseren din og skriv LocalHost: 5000 og trykk Enter. Du bør se følgende.

Yay!

nettleseren din gjorde EN GET-Forespørsel, og vi sendte Tilbake Et Svar ved hjelp av res.send.

NODE SQL Server-Tilkobling

(Valgfritt hvis gjort før.) I Terminal-vinduet, skriv
npm install mssql
dette installerer SQL Server-Drivere.

Databaseeksempel

dette er nøyaktig samme startkode som min tidligere artikkel, så jeg vil ikke gå over det i detalj. Men det er posisjon i app-objektet vil være viktig.

Et par ting å merke seg som vil være forskjellig fra før, etter vår første test,

  • PerformanceRating av Våre Ansatte vil bli sendt fra En Nettside (Lagt Ut.)
  • Resultatet av Spørringen vil bli sendt til En Nettside Ved Hjelp Av Svar.

Databasetilkobling/Spørringseksempel

Skriv inn koden nedenfor.

noe viktig å merke seg er at vi har En Webserver og En Databasetilkobling og Spørring. Men de samhandler ikke. Ennå!

Disconnected Web Server and Database Connection

Run it with by stopping and starting the web server or refreshing

Refesh/Stop and other options

and you will see the web server is running og det er konsollutgang av dataene fra spørringen. Men vi får ikke noe fra webserveren eller sender noe ut til en nettside.

Vår webserver notat Og Database Spørring Utgang figcaption >

html

vi trenger en side for å tjene opp når brukeren går til nettstedet vårt. Denne siden vil tillate dem å sende en parameter (PerformanceRating) som kan brukes i Databasespørringen.

Merk: Jeg kommer ikke til å være bekymret for styling vår nettside. Det vil være enkelt og rett på sak.

vi lagrer også alt i roten. Beste praksis? Aldri i livet! Men vi går for funksjonalitet. Opprydding kan skje senere.

  1. Opprett følgende nettsider og gi dem navn til indeks.html og Ansatte.HTML.
  • indeks.html vil være vår viktigste kilde side.
  • Ansatte.html vil være hvor resultatet vårt ender opp.

Simple startup page, index.html

Note the <form action=”/Employees…
This is where our output will go.

Add the following to Employees.html

2. This next step is going to require a couple of things. En av dem er hvordan jeg velger å tjene opp indeksen.HTML. Andre kilder du leser kan komme inn på ruting. Ruting er et svært viktig område, men utenfor vårt omfang. Vår måte er bare en av mange måter. De nye tilleggene til koden vår vil være,

  • path-dette vil hjelpe oss med å bruke res. sendFile til å server opp filen vi vil ha når en besøkende kommer til nettstedet vårt.
  • bodyParser — gjør skjemadata tilgjengelig når ET INNLEGG er ferdig
  • sendFile-lar deg tjene opp ønsket standardside.

Gjør følgende endringer i koden din,

div

path, bodyparser and sendfile

kjør det med ved å stoppe og starte webserveren eller oppdatere. I nettleseren din, etter å ha oppdatert nettleseren,bør du se,

indeks.html servert som standard

Ved HJELP AV HTML-Skjemadata I Vår Spørring

for dette må vi legge til en app.innlegg. Dette vil engasjere hva vi ønsker når indeksen.html For Er Lagt ut fra nettsiden.

dette er et viktig skritt. Vår Database Tilkobling og Spørring må være inne i app.post tilbakeringing funksjon.

databasekomponenter gå i app.få

  • Linje 13 starter appen.innlegg. I kroppen av tilbakeringingen er Våre Databasekomponenter.
  • Linje 52 lukker appen.innlegg.

Kan vi strukturere alt dette annerledes, ja. Jeg gjør det på denne måten for å gi oss et fundament som vil fungere. Da kan vi / du utforske andre alternativer

Ved Hjelp Av Skjemadata

Bruk av skjemadata vil være enkelt.

Linjer 35, 37, 50 og 55
  • linje 35, få skjemadata fra select-elementet. bodyParser er det som hjelper oss her. req.kropp.elementnavn.
  • Linje 37, Spørringen, bruker verdien fra skjemaet.
  • Linje 50 sender rå spørrede data Til Ansatte.HTML.

Kjør det ved å stoppe og starte webserveren eller forfriskende.

  1. Gå til nettsiden din og oppdater.

2. Velg «Gjennomsnitt» fra vurdering nedtrekksmenyen og klikk «Få Resultater»

3. Du bør få utgang I Ansatte.HTML. Ikke attraktivt, men det er en start.

json-utgang fra res.send

vi har nå en tilkobling fra vår front-end til vår back-end til vår front-end. DETTE er EN STOR AVTALE.

Siste Trinn-Rydd Opp Utgangen (litt.)

dette er den enkleste og vanskeligste delen. Vanskeligst fordi det er så mange alternativer. Vi skal gå med det grunnleggende i det grunnleggende, slik at vi får et glimt av hva som skjer dypt nede inne.

dette er et område du kommer til å ønske å utforske i mye mer i detalj. Ikke bare flere metoder for res, men ideen om en «view engine».

Og jeg vil utforske noen av disse i fremtidige artikler. Spesielt en av mine favoritter, express-styret.

For nå skal vi konstruere produksjonen vår. Ja. Konstruer det selv. Bygg en tabell over våre data i kode og sende den! Bare gå gjennom dataene våre.recordset og bygge.

Se følgende

div >

bygg vår utgang

du vil legge til linjer 50-57.

utgangen vil være som følger når Du Spør etter «Gjennomsnitt»

bygget av oss med kode.

Hva Skal Jeg Gjøre Neste (ja du)

Spill med det, legg til mer, endre strukturen. Arbeid starter fra grunnleggende, og jobbe opp.

Vi jobber med første prinsipper for å hjelpe oss å forstå hva som foregår bak noen av lagene som legges Til Av JavaScript-maler, rammer og biblioteker i disse dager.

Vi har bygget på vår egen, en full-stack system. Ja, tro det eller ei vi har.

hva trenger mest arbeid, utgangen. Men hele denne øvelsen åpner opp en verden av leting og muligheter. Så vi ønsker å utvide begrepene,

  • Flere CRUD operasjoner
  • Ruting
  • Vis motorer/maler

Takk for at du tok denne reisen, og vi vil utforske mer.

du kan også nyte,

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *