Ten eerste moet je een instantie (te maken) een nieuwe database verbinding. Nu, ik ben alleen maar werken met Microsoft SQL-server vandaag. Als u hulp nodig het omzetten van dit artikel naar andere database-platformen zoals Oracle en MySQL moet dan laat het me weten. Zorg ervoor dat u ook met behulp van de benodigde naamruimten voordat u begint. met System.Data; met System.Data.
SqlClient; SqlConnection adoConn = new SqlConnection ("Data Source = server; Aanvankelijke Catalog = databank; Persist Veiligheid Info = True; gebruikers-ID = gebruikersnaam, wachtwoord = wachtwoord"); adoConn.Open (); Database wordt nu gemaakt en geopend. De string die we gepasseerd wordt genoemd de "Connection String". Alles wat het doet is hoe en waar de verbinding te openen de database te vertellen. Plaatsvervanger "server", "Initial Catalog" en "User ID /Password" met uw database-informatie. Vergeet niet, dit is slechts een open verbinding. De database is er zit te wachten op een commando.
En dat is precies wat we setup volgende. Een commando. Denk aan een opdracht als een direct bevel u de server te geven (ook al kan het wel of niet luisteren!). //Nieuwe commando string sql = "SELECT CustomerName FROM MyTable"; SqlCommand adoCmd = new SqlCommand (sql, adoConn); De SQL-tekenreeks is gewoon een SQL-commando's die we passeren. De adoConn vertelt de opdracht die verbinding te gebruiken. Eenvoudig, hè? Ok, nu hebben we een open verbinding en een commando (met de sql string). Onze volgende stap is om de DataReader sommige gegevens te maken en weer te geven.
SqlDataReader adoDR = adoCmd.ExecuteReader (); if (adoDR.HasRows) {while (adoDR.Read ()) {Response.Write (adoDR ["CustomerName"] ToString ().); }} Stuurt De methode ExecuteReader () de SQL-gegevens van de opdracht (onze SELECT statement) en als er verslagen, brengt ze een voor een naar de DataReader (adoDR). U zult merken dat we voor het eerst de naam van de .HasRows conditie. Het is altijd goed om eerst ervoor te zorgen dat er gegevens zijn teruggegeven voordat je iets mee doen. De volgende verklaring ziet er misschien een beetje verwarrend.
Dit terwijl de lus brengt elk record neer een voor een. Kijk, als je het ExecuteReader bellen en ervan uitgaande dat er rijen, je eigenlijk beginnen bij de stand "-1". Vreemd, hè? Bijvoorbeeld, laten we zeggen dat de SELECT-instructie terug 50 rijen gegevens. Het eerste record aantal zou zijn 0, de volgende zou zo maar door 1, dan tot opname 49. 0-49 verslagen. Elke keer als je de .Lee