SQL: Zeitfenstervergleich

Vergleich von Zeitfenster A mit Zeitfenster B auf Überschneidung. Das ist z.B. wichtig bei Kalender-Anwendungen mit Terminen usw… Es gibt sechs Fälle dazu: A |——–| B1 |—-| OK B2 |—-| Überschneidung B3 |—-| Überschneidung B4 |—-| OK B5 |–| Überschneidung B6 |——————| Überschneidung A-Anfang wäre der 01.01.2008, Ende wäre der 05.05.2008 B-Anfang = DateStart und […]

Weiterlesen

ASP.NET: SQL-Injection vermeiden

SQL-Injection lassen sich in ASP.NET sehr einfach vermeiden. Sowohl bei der Verwendung von WebControls als auch „von Hand“. Hier am Beispiel einer AccessDataSoucre mit einer Übergabe der ID in der URL (= GET): <asp:AccessDataSource ID=“AccessDataSource1″ runat=“server“ SelectCommand=“SELECT * FROM Tab1 WHERE ID = ?“> <SelectParameters> <asp:QueryStringParameter Name=“ID“ QueryStringField=“ID“ Type=“INT32″ /> </SelectParameters> </asp:AccessDataSource> Per Code (ohne DataSoucre-Controls) […]

Weiterlesen

SQL: Datum und Datenbanken…

…immer so ein Thema… … = ‚“ + DateTime.Now.ToShortDateString() + „‚ … … = #“ + DateTime.Now.ToString(„yyyy-MM-dd HH:mm“) + „# … DateTime.ToString-Methode (String): http://msdn.microsoft.com/de-de/library/zdtaw1bw(VS.80).aspx  

Weiterlesen

SQL: Grundoperationen SELECT, INSERT, UPDATE und DELETE

So mal schnell zum nachschlagen… SELECT column_name(s) FROM table_name INSERT INTO table_name (column1, column2, column3,…) VALUES (value1, value2, value3,…) UPDATE table_name SET column1=value, column2=value2,… WHERE some_column=some_value DELETE FROM table_name WHERE some_column=some_value Mehr davon, mit Erklärungen und zum selbst testen unter: http://w3schools.com/sql

Weiterlesen

ASP.NET: Auf ConnectionStrings und AppSettings der web.config zugreifen

web.config: <appSettings> <add key=“copyright“ value=“(c) 2004″/> </appSettings> <connectionStrings> <add name=“mainDB“ connectionString=“…“ providerName=“…“ /> </connectionStrings> *.aspx.cs using System.Configuration; //… string appCopy = ConfigurationManager.AppSettings[„copyright“]; string appConn = ConfigurationManager.ConnectionStrings[„mainDB“]; *.aspx: <asp:Label ID=“Label1″ runat=“server“ Text=“<%$ AppSettings:copyright %>“ /> Übersicht über ASP.NET-Ausdrücke: http://msdn.microsoft.com/de-de/library/d5bd1tad(VS.80).aspx

Weiterlesen

ASP.NET: Eine Liste von Strings an Controls binden

Daten, einer List lassen sich so z.B. an einen Repeater binden: List<string> myValues = new List<string>(); … Repeater1.DataSource = myValues; Repeater1.DataBind(); … <asp:repeater id=“Repeater1″ runat=“server“> <itemtemplate> <%# Container.DataItem %> </itemtemplate> </asp:repeater> Siehe: http://www.aspnetzone.de/blogs/peterbucher/archive/2008/06/29/eine-liste-von-strings-ohne-eigenschaften-an-ein-control-binden.aspx

Weiterlesen

SQL: UNION Tipps – unterschiedlich viele Spalten / unterschiediche Spaltennamen / Sortierung

Fehlenden Spalten einfach mit NULL oder einem vordefiniertem Wert hinzufügen: SELECT SpalteA, SpalteB FROM Tabelle1 UNION SELECT SpalteA, NULL AS SpalteB FROM Tabelle2 Unterschiedlichen Spaltennamen mit AS angleichen: SELECT SpalteA FROM Tabelle1 UNION SELECT SpalteB AS SpalteA FROM Tabelle2 Nur nach dem zweiten SELECT per ORDER sortieren. Nicht bei beiden. (Wirkt sich aber auf beide Tabellen aus): SELECT Spalte1, Spalte2 FROM Tabelle1 UNION […]

Weiterlesen