wer hat SQL erfunden?

14 Antworten

Anleitung SQL

  • SQL Server Management Studio öffnen und auf «Verbinden» klicken.
  • Rechtsklick auf «Datenbank» -> «Neue Datenbank…»
  • Name der Datenbank eingeben und mit «OK» weiterfahren.
  • Rechtsklick auf «Tabellen» -> «Tabelle…» auswählen.
  • Spaltennamen festlegen und als Datentyp «bigint» angeben. Null-Wert entfernen und mit Rechtsklick als Primärschlüssel festlegen.
  • Zusätzlich bei Identitätsspezifikation «Ja» einstellen.
  1. ID-Ausgangswert = Wert des Starts
  2. ID-Inkrement = Zählgrösse
  • Varchar(50) = Text bis zu 50 Zeichen Smalldatetime = Datum
  • Um Tabellen nach Änderungen speichern zu können muss folgendes gemacht werden: Extras -> Optionen -> «Speichern von Änderungen..> Haken entfernen
  • Neue Tabelle erstellen und Primärschlüssel und Spalten definieren.
  • In der anderen Tabelle eine «F_ID» erstellen. Wichtig: Muss denselben Datentyp besitzen.
  • «Datenbankdiagramme» -> «Neues Datenbankdiagramm»
  • Alle Tabellen auswählen.
  • Fremdschlüssel auf den Primärschlüssel der anderen Tabelle ziehen.
  • Mit «Ok» fortfahren.
  • Speichern
  • «Sichten» -> «Neue Sicht»
  • Tabellen auswählen
  • Alias definieren, falls nötig
  • Rechtsklick auf die weisse Fläche -> „SQL ausführen“
  • Alternativ, um DELETE; UPDATE verwenden zu können: Neue Abfrage und selbst SQL schreiben.
  1. INSERT INTO table_name (column1, column2, column3,...)VALUES (value1, value2, value3, ...);
ändern
UPDATE tabelle SET feldname = wert WHERE (bedingung);
UPDATE kunde SET plz = '59581', ort = 'Warstein' WHERE id = 5;

suchen nach Name
SELECT strasse FROM kunde WHERE id = 5;


Session Login:

login.aspx:

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

  <asp:TextBox ID="txtBenutzer" runat="server"></asp:TextBox>

  <asp:TextBox ID="txtPasswort" runat="server" TextMode="Password"></asp:TextBox>

  <asp:Button ID="btnLogin" runat="server" Text="Button" OnClick="btnLogin_Click" />

</asp:Content>

login.aspx.cs:

public partial class login : System.Web.UI.Page

{

  protected void Page_Load(object sender, EventArgs e)

  {

  }

  protected void btnLogin_Click(object sender, EventArgs e)

  {

    if (txtBenutzer.Text == "Demo" && txtPasswort.Text == "Test")

    {

      Session["LoggedIn"] = "true";

      Response.Redirect("secure.aspx");

    }

    else

    {

      Response.Redirect("login.aspx");

    }

  }

}

secure.aspx:

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

  <asp:Label ID="lblAusgabe" runat="server" Text=""></asp:Label>

  <asp:Button ID="btnLogout" runat="server" Text="logout" OnClick="btnLogout_Click" />

</asp:Content>

secure.aspx.cs:

public partial class secure : System.Web.UI.Page

{

  protected void Page_Load(object sender, EventArgs e)

  {

    if (Session["LoggedIn"] != null && Session["LoggedIn"].ToString() == "true")

    {

      lblAusgabe.Text = "ok";

    }

    else

    {

      lblAusgabe.Text = "nein";

    }

  }

  protected void btnLogout_Click(object sender, EventArgs e)

  {

    Session.Abandon();

    Response.Redirect("secure.aspx");

  }

}

Anleitung Drag and Drop

1.      Datenbank wurde im SQL erstellt.

2.      Im Visualstudio neue Masterseite erstellen (Gestaltungsvorlage auswählen) – OK

3.      Überschrift einfügen (Z.b. „Mitarbeiter“) dann <br />

4.      In Entwurfsmodus wechseln

5.      Dropdown Liste erstellen (befindet sich in Toolbox) – einfügen

6.      „Datenquelle auswählen“ und Autopostback aktivieren

7.      Neue Datenquelle erstellen

8.      Richtig benennen: Z.B „SQLdbAbteilung“ – OK

9.      Im Feld auf den linken Pfeil – Neue Verbindung auswählen

10.  Servername – Mittlerer auswählen

11.  Datenbank auswählen „sqlMitarbeiter“ – OK

12.  Verbindung anschauen

13.  Weiter – Benennen: „ConMitarbeiter“ (Mit dieser Variable kann anschließend weitergearbeitet werden

14.  Weiter – Spalten auswählen (z.B. ID_Abteilung und A_Name)

15.  ORDER BY – A_Name – OK

16.  Weiter – Testabfrage

17.  Fertigstellen

18.  Was möchte ich anzeigen? Anzeige z.B A_Name und Wert ID_Abteilung – OK

19.  Nun kann ich es testen. Es sollten die Abteilungen angezeigt werden.

Nächste Schritt

1.      Einige Zeilen unter der Dropdownlist erstelle ich ein GridView (Befindet sich in Toolbox unter „Daten“

2.      Datenquelle auswählen: Neue Datenquelle

3.      ID für die Datenquelle: sqlDBMitarbeiter – OK

4.      Datenverbindung auswählen (conMitarbeiter)

5.      Häkchen bei Verbindungszeichenfolge – Weiter

6.      Name: tblMitarbeiter

7.      Alle auswählen (*) – WHERE

8.      Spalte – FID_Abteilung

9.      Operator: =

10.  Quelle: Control

11.  Steuerelement-ID -> Dropdownlist1

12.  Hinzufügen – OK

13.  ORDER BY – Sortieren nach: Nachname – Anschliessend nach: Vorname - OK

14.  Erweitert: INSERT-, UPDATE… Häkchen setzen – OK

15.  Weiter – Testabfrage - Fertigstellen

16.  „Bearbeiten aktivieren“ und evtl. „Sortieren aktivieren“, „Paging aktivieren“, „Löschen aktivieren“

Einige Daten möchte ich in der Liste nicht anzeigen (z.B. Datum, ID_Mitarbeiter)

1.      Gridview anzeigen: Spalten bearbeiten

2.      Ausgewählte Felder: ID_Mitarbeiter – Visible: False – OK

Neuer Schritt „DetailsView“

1.      DetailsView aus Toolbox unter der vorherigen Tabelle einfügen

2.      Datenquelle auswählen: sqlDBMItarbeiter

3.      Einfügen aktivieren

4.      Rechts auf der Seite in den „Eigenschaften“ - DefaultMode: Insert

5.      Als Test kann ich auf der Website einen neuen Mitarbeiter eingeben

 

Mitabeiterfotos einfügen

1.      Im GridView – „Spalte bearbeiten“

2.      Augewählte Feleder: M_Foto – „Dieses Feld in ein Templatefielf konverteren“ – OK

3.      Auf Quellen Modus wechseln und in Toolbox "Image" einfügen

1.      ImgURL=““ einfügen

2.      Bildname von unten kopieren und einfügen

1.      Diese untere und bereite vorgegebene Zeile kann anschliessend gelöscht werden

Falls das Bild Online noch nicht angezeigt wird

1.      Gehe im SQL auf deine Tabelle, in der das Bild eingefügt wurde

2.      Evtl hat der Pfad noch nicht gestimmt

3.      Füge vor dem eingegebenen Pfad also noch „../“ ein. Auf diese Weise weiss das System, dass es zuerst aus dem einen Ordner raus muss und in den Ordner „Bilder“ z.b. wieder rein.

CSS für Mitarbeiter

1.      Neues CSS hinzufügen

2.      Der Link wird nicht im Contentplaceholder, sondern im head eingefügt

HILFE SQL

 

MAIN.MASTER

 

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="main.master.cs" Inherits="main" %>

<!DOCTYPE html>​

<html>​

<head runat="server">​

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>​

  <title>Céline Bürge</title>​

  <link href="style.css" rel="stylesheet" />​

  <asp:ContentPlaceHolder id="head" runat="server">​

  </asp:ContentPlaceHolder>​

</head>​

<body>​

  <form id="form1" runat="server">​

    <header>​

      ASP.NET UND SQL<br />​

      "Name Vorname"​

    </header>​

    <nav>​

      <asp:Menu ID="Menu1" runat="server" ForeColor="White" Orientation="Horizontal">​

        <Items>​

          <asp:MenuItem NavigateUrl="~/bestellen.aspx" Text="Bestellen" Value="Bestellen"></asp:MenuItem>​

          <asp:MenuItem NavigateUrl="~/admin.aspx" Text="Admin" Value="Admin"></asp:MenuItem>​

        </Items>​

        <StaticHoverStyle ForeColor="#60D6A9" />​

      </asp:Menu>​

    </nav>​

  <div id="content">​

    <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"></asp:ContentPlaceHolder>​

  </div>​

  </form>​

</body>​

</html>

 

 

BESTELLEN.ASPX

 

​  <%@ Page Title="" Language="C#" MasterPageFile="~/main.master" AutoEventWireup="true" CodeFile="bestellen.aspx.cs" Inherits="bestellen" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">​

</asp:Content>​

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">​

  <h1>Bestellung</h1>​

  <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID_Artikelnummer" DataSourceID="sqlTest">​

    <Columns>​

      <asp:BoundField DataField="ID_Artikelnummer" HeaderText="Artikelnummer" InsertVisible="False" ReadOnly="True" SortExpression="ID_Artikelnummer" />​

      <asp:BoundField DataField="Artikelname" HeaderText="Artikelname" SortExpression="Artikelname" />​

      <asp:BoundField DataField="Artikelpreis" HeaderText="Artikelpreis" SortExpression="Artikelpreis" />​

    </Columns>​

  </asp:GridView>​

  <asp:SqlDataSource ID="sqlTest" runat="server" ConnectionString="<%$ ConnectionStrings:conTest %>" SelectCommand="SELECT * FROM [tabArtikel] ORDER BY [ID_Artikelnummer]"></asp:SqlDataSource>​

  <h2>Bestellung aufgeben</h2>​

  <p>​

  Kundenname:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:TextBox ID="txtKuNa" runat="server"></asp:TextBox>​

    </p>​

    <p>​

  Kundenvorname:&nbsp;&nbsp;&nbsp; <asp:TextBox ID="txtKuVor" runat="server"></asp:TextBox>​

    </p>​

    <p>​

  Artikelnummer:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:TextBox ID="txtArtNr" runat="server"></asp:TextBox> &nbsp;bitte oben auslesen</p>​

    <p>​

  Artikelanzahl:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:TextBox ID="txtArtAnz" runat="server"></asp:TextBox>​

    </p>​

  <asp:Button ID="btnBestellen" runat="server" Text="Bestellen" OnClick="btnBestellen_Click" />​

</asp:Content>

 

 

LOGIN.ASPX

 

<%@ Page Title="" Language="C#" MasterPageFile="~/main.master" AutoEventWireup="true" CodeFile="login.aspx.cs" Inherits="login" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">​

</asp:Content>​

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">​

  <p>Benutzername:&nbsp;&nbsp; <asp:TextBox ID="txtBen" runat="server"></asp:TextBox></p>​

  <p>Passwort&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:TextBox ID="txtPW" textmode="Password" runat="server"></asp:TextBox></p>​

  <asp:Button ID="btnLogin" runat="server" Text="Login" OnClick="btnLogin_Click" />​

</asp:Content>​

 

 

ADMIN.ASPX

 

<%@ Page Title="" Language="C#" MasterPageFile="~/main.master" AutoEventWireup="true" CodeFile="admin.aspx.cs" Inherits="admin" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">​

</asp:Content>​

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">​

  <h1>Bestellung</h1>​

  <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID_Artikelnummer" DataSourceID="sqlTest">​

    <Columns>​

      <asp:BoundField DataField="ID_Artikelnummer" HeaderText="Artikelnummer" InsertVisible="False" ReadOnly="True" SortExpression="ID_Artikelnummer" />​

      <asp:BoundField DataField="Artikelname" HeaderText="Artikelname" SortExpression="Artikelname" />​

      <asp:BoundField DataField="Artikelpreis" HeaderText="Artikelpreis" SortExpression="Artikelpreis" />​

    </Columns>​

  </asp:GridView>​

  <asp:SqlDataSource ID="sqlTest" runat="server" ConnectionString="<%$ ConnectionStrings:conTest %>" SelectCommand="SELECT * FROM [tabArtikel] ORDER BY [ID_Artikelnummer]"></asp:SqlDataSource>​

  <h2>Artikel löschen</h2>​

  <p>​

    Artikelnummer eingeben:&nbsp;&nbsp;&nbsp;&nbsp; ​

  <asp:TextBox ID="txtloschen" runat="server"></asp:TextBox>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:Button ID="btnloschen" runat="server" Text="Löschen" OnClick="btnloschen_Click" />​

  &nbsp;​

  </p>​

    <h2>Artikel editieren</h2>​

<p>​

  Artikelnummer:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:TextBox ID="txtArtNr" runat="server"></asp:TextBox>​

    </p>​

    <p>​

  Artikelname:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:TextBox ID="txtArtNa" runat="server"></asp:TextBox>​

    </p>​

    <p>​

  Artikelpreis:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:TextBox ID="txtArtPr" runat="server"></asp:TextBox> &nbsp;​

    </p>​

  <asp:Button ID="btnedit" runat="server" Text="Editieren" OnClick="btnedit_Click" />​

      <h2>Logout</h2>​

  <asp:Button ID="btnlogout" runat="server" Text="Logout" OnClick="btnlogout_Click" />​

</asp:Content>

 

 

BESTELLEN.ASPX.CS

 

using System;

using System.Collections.Generic;​

using System.Configuration;​

using System.Data.SqlClient;​

using System.Linq;​

using System.Web;​

using System.Web.UI;​

using System.Web.UI.WebControls;​

public partial class bestellen : System.Web.UI.Page​

{​

  protected void Page_Load(object sender, EventArgs e)​

  {​

  }​

  protected void btnBestellen_Click(object sender, EventArgs e)​

  {​

    //Verbindung zur DB herstellen​

    SqlConnection conDBTest = new SqlConnection(ConfigurationManager.ConnectionStrings["conTest"].ConnectionString);​

    //SqlCommand vorbereiten, Verbindung zur Tabelle mit SQL - Befehl​

    SqlCommand comDemoInsert = new SqlCommand("INSERT INTO tabBestellung (Kundenname, Kundenvorname, Artikelnummer, Artikelanzahl) VALUES (@Kundenname, @Kundenvorname, @Artikelnummer, @Artikelanzahl)");​

    comDemoInsert.Connection = conDBTest;​

    comDemoInsert.Parameters.AddWithValue("@Kundenname", this.txtKuNa.Text);​

    comDemoInsert.Parameters.AddWithValue("@Kundenvorname", this.txtKuVor.Text);​

    comDemoInsert.Parameters.AddWithValue("@Artikelnummer", this.txtArtNr.Text);​

    comDemoInsert.Parameters.AddWithValue("@Artikelanzahl", this.txtArtAnz.Text);​

    comDemoInsert.Connection.Open();​

    comDemoInsert.ExecuteNonQuery();​

    comDemoInsert.Connection.Close();​

    comDemoInsert.Dispose();​

    conDBTest.Dispose();​

    conDBTest.Close();​

    //TXT leeren​

    txtKuNa.Text = "";​

    txtKuVor.Text = "";​

    txtArtAnz.Text = "";​

    txtArtNr.Text = "";​

  }​

}

 

 

ADMIN.ASPX.CS

 

using System;

using System.Collections.Generic;​

using System.Configuration;​

using System.Data.SqlClient;​

using System.Linq;​

using System.Web;​

using System.Web.UI;​

using System.Web.UI.WebControls;​

public partial class admin : System.Web.UI.Page​

{​

  protected void Page_Load(object sender, EventArgs e)​

  {​

    if (Session["Loggin"] !=null && Session["Loggin"].ToString() == "true")​

    {​

    }​

    else​

    {​

      Response.Redirect("login.aspx");​

    }​

  }​

  protected void btnloschen_Click(object sender, EventArgs e)​

  {​

    //Verbindung zur DB herstellen​

    SqlConnection conDBTest = new SqlConnection(ConfigurationManager.ConnectionStrings["conTest"].ConnectionString);​

    //SqlCommand vorbereiten, Verbindung zur Tabelle mit SQL - Befehl​

    SqlCommand comDemoDelete = new SqlCommand("DELETE FROM tabArtikel WHERE ID_Artikelnummer = @ID_Artikelnummer");​

    comDemoDelete.Connection = conDBTest;​

    comDemoDelete.Parameters.AddWithValue("@ID_Artikelnummer", this.txtloschen.Text);​

    comDemoDelete.Connection.Open();​

    comDemoDelete.ExecuteNonQuery();​

    comDemoDelete.Connection.Close();​

    comDemoDelete.Dispose();​

    conDBTest.Dispose();​

    conDBTest.Close();​

    Response.Redirect("admin.aspx");​

  }​

  protected void btnedit_Click(object sender, EventArgs e)​

  {​

    //Verbindung zur DB herstellen​

    SqlConnection conDBTest = new SqlConnection(ConfigurationManager.ConnectionStrings["conTest"].ConnectionString);​

    //SqlCommand vorbereiten, Verbindung zur Tabelle mit SQL - Befehl​

    SqlCommand comDemoUpdate = new SqlCommand("UPDATE tabArtikel SET Artikelname = @Artikelname, Artikelpreis = @Artikelpreis WHERE ID_Artikelnummer = @ID_Artikelnummer");​

    comDemoUpdate.Connection = conDBTest;​

    comDemoUpdate.Parameters.AddWithValue("@ID_Artikelnummer", this.txtArtNr.Text);​

    comDemoUpdate.Parameters.AddWithValue("@Artikelpreis", this.txtArtPr.Text);​

    comDemoUpdate.Parameters.AddWithValue("@Artikelname", this.txtArtNa.Text);​

    comDemoUpdate.Connection.Open();​

    comDemoUpdate.ExecuteNonQuery();​

    comDemoUpdate.Connection.Close();​

    comDemoUpdate.Dispose();​

    conDBTest.Dispose();​

    conDBTest.Close();​

    Response.Redirect("admin.aspx");​

  }​

  protected void btnlogout_Click(object sender, EventArgs e)​

  {​

    Session.Abandon();​

    Response.Redirect("login.aspx");​

  }​

}

 

 

LOGIN.ASPX.CS

 

using System;

using System.Collections.Generic;​

using System.Configuration;​

using System.Data.SqlClient;​

using System.Linq;​

using System.Web;​

using System.Web.UI;​

using System.Web.UI.WebControls;​

public partial class login : System.Web.UI.Page​

{​

  protected void Page_Load(object sender, EventArgs e)​

  {​

  }​

  protected void btnLogin_Click(object sender, EventArgs e)​

  {​

    //Verbindung zur DB herstellen​

    SqlConnection conDBTest = new SqlConnection(ConfigurationManager.ConnectionStrings["conTest"].ConnectionString);​

    //SqlCommand vorbereiten, Verbindung zur Tabelle​

    SqlCommand comDemoSelect = new SqlCommand();​

    comDemoSelect.Connection = conDBTest;​

    //comDemoSelect.CommandType = comm​

    comDemoSelect.CommandText = "SELECT ID_user, Benutzername, Password FROM tabUser where Benutzername = @Benutzername AND Password = @Password";​

    comDemoSelect.Parameters.AddWithValue("@Benutzername", this.txtBen.Text);​

    comDemoSelect.Parameters.AddWithValue("@Password", this.txtPW.Text);​

    comDemoSelect.Connection.Open();​

    //Datareader um Daten anzuzeigen​

    SqlDataReader drTodo = comDemoSelect.ExecuteReader();​

    //Datenausgabe in Labelfeld mit Datareader​

    if (drTodo.HasRows == true) //Sind Datensätze vorhanden?​

    {​

      Session["Loggin"] = "true";​

      Response.Redirect("admin.aspx");​

     }​

    else​

    {​

      txtPW.Text = "";​

      txtBen.Text = "";​

      txtBen.Focus();​

    }​

  }​

}