Zum Inhalt springen

ASP.NET Website Tutorial


Empfohlene Beiträge

Geschrieben

Hallo Leute,

soll für meinen Betrieb eine Intranetseite in ASP.NET machen. Mit Anmeldefunktion um bei den News Einträge vornehmen zu können, einer dynamischen Navigation und eine Geräteverwaltung soll ebenfalls dabei sein. Soweit steht eig auch schon alles, dank der Vorgaben von Visual Studio, allerdings würde ich das ganze noch gern individueller gestalten und aufgrund der Geräteverwaltung auch mit einer Datenbank verbinden.

Kann mir jemand eine Internetseite empfehlen auf der so etwas gut und relativ kompakt beschrieben ist? Hab schon bei google gesucht, allerdings vergeblich.

Würde mich über antworten freuen.

Mit freundlichen Grüßen

Maerad

Geschrieben

Hey Leute :)

Inzwischen hab ich schon ein bisschen was hin bekommen :D

Bin gerade dabei und versuche mich an einer Datenbank via Entity Framework, allerdings kommt bei mir immer eine Fehlermeldung. Da das Tutorial an dem ich gerade dran bin auch auf Englisch ist verstehe ich nicht alles.

Arbeite dieses Tutorial durch: Entity Framework 4.0 and ASP.NET

Und bei dem Punkt "Creating the Database" steht ziemlich am Anfang sowas wie %PROGRAMFILES%\... und ich weiß nicht wofür das ist bzw wo ich das einsetzen muss. Ich denke mal das mir da irgendwas fehlt das ich dann später eine Fehlermeldung bekomme. Arbeite übrigens mit Visual Studio 2010.

Wär super wenn ihr mir ein deutsches Tutorial vorschlagen könntet oder evtl kurz die wichtigsten Dinge erklärt die man beim Erstellen einer solchen Datenbank beachten muss.

Danke im vorraus :)

Geschrieben

%PROGRAMFILES% ist eine Umgebungsvariable und meint in den meisten Fälllen c:\Programme bzw C:\Program Files (x86), also den Ordner in Deinem Windows, wo Programminstallationen vorgenommen werden. Da dieser Ordner theoretisch bei jedem PC woanders liegen kann (wenn jemand die standardeinstellungen verändert hat), steht dieser Pfad als Variable in der Registry.

%PROGRAMFILES%\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA ist also bei Dir vermutlich c:\Programme\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA

\Data ist der Ordner, an dem für die jeweilige Instanz pro Datenbank die Dateien abgelegt werden.

Geschrieben

Da es jetzt mit einem anderen Tutorial geklappt hat und alles funktioniert stellt sich mir jetzt die nächste Frage, worauf ich bei google einfach keine leicht verständliche Lösung finde. Und zwar geht es um das schreiben in die Datenbank.

Kann mir jemand erklären wie das bei ASP.NET/C# funktioniert?

Danke schonmal für eure Hilfe.

Freundliche Grüße

Maerad

  • 1 Monat später...
Geschrieben

Hallo Maerad,

es ist zwar schon etwas länger her seit du das letzte mal geschrieben hast und du bist auch sicherlich schon weiter gekommen...

Sollte ich deine Frage richtig verstanden haben hier meine Erklärung:

Als erstes solltest du den ConnectionString in deiner Web.config datei einbauen

Hier hast du mal eine als Beispiel:


<?xml version="1.0" encoding="utf-8"?>


<!--

  Weitere Informationen zum Konfigurieren der ASP.NET-Anwendung finden Sie unter

  http://go.microsoft.com/fwlink/?LinkId=169433

  -->

<configuration>

  <appSettings>

    <add key="ConnectionString" value="Server=****;Database=****;User Id=****;Password=****;"/>

  </appSettings>

</configuration>

**** musst du natürlich anpassen... Um nun auf deine Datenbank zugreifen zu können musst du erst einmal eine Verbindung herstellen, ich habe mir dafür eine Methode in einer Hilfsklasse geschrieben, so behält man leichter den Überblick und muss nicht immer so viel schreiben ;) Hier erstmal der Code:

public static DataSet Query(string Query){

        string constr = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];

        SqlConnection con = new SqlConnection(constr);

        con.Open();

        DataSet ds = new DataSet();

        SqlDataAdapter adapter = new SqlDataAdapter(Query, con);

        adapter.Fill(ds);

        con.Close();

        return ds;

    }

constr ist der ConnectionString, bzw der Aufruf des ConnectionStrings. Um allerdings eine Verbindung her zu stellen benötigt man noch ein Objekt SqlConnection in meinem Beispiel ist das con. Als nächstes öffnest du die Verbidung, erstellst ein DataSet ds indem später die Ergebnisse gespeichert werden. Außerdem erstellenw ir noch einen SqlDataAdapter diesem übergeben wir den Query und die SqlConnection con. Danach muss man ledeglich das DataSet vom SqlDataAdapter füllen lassen und die Verbindung wieder beenden. Den Rückgabewert natürlich nicht vergessen :) Wie du bestimmt bemerkt hast übergebe ich der Funktion einen String Query, wie der Name schon sagt ist das der Query den wir an der Datenbank ausführen. Ich benutze eine SQL - Datenbank und ein möglicher Aufruf sieht bei mir so aus:

try {

	DataSet ds = Utilities.Query("Select * from Posts");

	if (ds.Tables[0].Rows.Count > 0) {

		return ds;

	}

	return 0;

}

catch (Exception) {

	return 0;

}


Beim Funktionsaufruf muss lediglich ein DataSet erstellt werden und dann ruft man nur noch die Klasse (in diesem Beispiel Utilities) und dann die Funktion (in diesem Beispiel Query) auf, übergibt ihr den SQL-Query und macht damit was man gerade will ;)

Ich prüfe ob der Rückgabewert überhaupt etwas enthält...

Ich hoffe du konntest mir folgen, falls nicht oder du noch Fragen hast, nur zu :)

MfG wuaschtsalod

Geschrieben

Als erstes solltest du den ConnectionString in deiner Web.config datei einbauen

Hier hast du mal eine als Beispiel:


<?xml version="1.0" encoding="utf-8"?>


<!--

  Weitere Informationen zum Konfigurieren der ASP.NET-Anwendung finden Sie unter

  http://go.microsoft.com/fwlink/?LinkId=169433

  -->

<configuration>

  <appSettings>

    <add key="ConnectionString" value="Server=****;Database=****;User Id=****;Password=****;"/>

  </appSettings>

</configuration>

**** musst du natürlich anpassen...
In dem Beispiel fehlt der Provider. Verwendet man das EntityFramework, ist der ProviderConnectionString außerdem noch durch den des EF gekapselt.
Um nun auf deine Datenbank zugreifen zu können musst du erst einmal eine Verbindung herstellen, ich habe mir dafür eine Methode in einer Hilfsklasse geschrieben, so behält man leichter den Überblick und muss nicht immer so viel schreiben ;) Hier erstmal der Code:

public static DataSet Query(string Query){

        string constr = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];

        SqlConnection con = new SqlConnection(constr);

        con.Open();

        DataSet ds = new DataSet();

        SqlDataAdapter adapter = new SqlDataAdapter(Query, con);

        adapter.Fill(ds);

        con.Close();

        return ds;

    }

Bei MSSQL heißt es 'Initial catalog' statt 'database' und 'Data source' statt 'server'.

Beim Funktionsaufruf muss lediglich ein DataSet erstellt werden und dann ruft man nur noch die Klasse (in diesem Beispiel Utilities) und dann die Funktion (in diesem Beispiel Query) auf, übergibt ihr den SQL-Query und macht damit was man gerade will ;)

Warum so umständlich? Es ist zwar zu Anschauungszwecken nicht verkehrt, etwas auch mal zu Fuß zu programmieren (dann würde ich aber vielleicht noch weiter unten beim SQLReader ansetzen), aber der kürzere Weg geht direkt über Objekte mittels EF oder Linq.

Die eigentliche Frage betraf aber nicht das Lesen, sondern das Schreiben.

Der Weg mittels Dataset ist in den Artikeln unterhalb von Saving Data beschrieben.

Bei Verwendung mit EF über databound Controls reicht es, den EntityDataSources die entsprechenden Funktionen zu ermöglichen: EnableInsert, EnableUpdate auf True setzen und die Insert und Update-Funktionen der Controls verwenden. Sollen im Code behind andere CRUD-Operationen ausgeführt werden, werden Änderungen mittels SaveChanges persistiert. Erstellen, Hinzufügen, Ändern und Löschen von Objekten (Entity Framework)

Geschrieben

Hm... ich muss zu geben dein Lösungsansatz erscheint mir dann sinnvoller, muss mich wohl doch mal wieder etwas mehr einlesen...

Bei meinem oben präsentierten Beispiel war es leider nicht möglich mit Linq zu arbeiten, desshalb ist mir mein Weg am Sinnvollsten erschienen, aber man lernt ja nie aus :)

Danke und MfG

wuaschtsalod

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...