Mittwoch, 15. Juni 2011

Tool zur Erstellung der 'stored procedures' für Sortierungen

Hinweis:
Dieser Beitrag macht nur für mich Sinn; nicht wundern.

Das Tool SortierungStoredProcedureBuilder erstellt die vier für die Sortierung nach Art des Hauses benötigten 'stored procedures' bereit.
Die benötigten Parameter sind aus der Abbildung ersichtlich.

Abbildung zeigt Userinterface (Ausschnitt)
Die Eingabefelder des Tools.

Speicherort

VB-Projekte Juni 2011; Asus

Programm

Das Programm liegt in der "Hermann Leopold"-Suite.

Samstag, 11. Juni 2011

Ordnen der Datenbank-Sortierung nach Art des Hauses via Stored Procedure

Hinweis:
Dieser Beitrag macht nur für mich Sinn; nicht wundern.

Diese Stored Procedure ist ein Muster für die Neuordnung der "Sortierung"-Spalte nach einer Umsortierung. Die Namen des Schemas, der Tabelle und der Sortierungsspalte sind fix, da dynamisches SQL lt. diverser Autoren Performanceeinbußen bringt.
Da hingegen das Datenbankdesign bezüglich der Sortierung unveränderlich ist, sollte pro Tabelle eine Stored Procedure keine unüberwindliche Hürde darstellen.

Das "Create"-Statement

  1. SET ANSI_NULLS ON
  2. GO
  3. SET QUOTED_IDENTIFIER ON
  4. GO
  5.  
  6. -- =============================================
  7. -- Author: Hermann J. Leopold
  8. -- Create date: 09.6.2011
  9. -- Description: Glättet die Sortierungsspalte
  10. -- =============================================
  11. CREATE PROCEDURE [dbo].[spGlaetteSortierung]
  12. AS
  13. BEGIN
  14. -- SET NOCOUNT ON added to prevent extra result sets from
  15. -- interfering with SELECT statements.
  16. SET NOCOUNT ON;
  17.  
  18.      -- temporäre Tabelle
  19. DECLARE @Vorsortiert AS TABLE(ID bigint, Sortierung int)
  20. -- Daten in die temporäre Tabelle schreiben
  21. SELECT [ID], ROW_NUMBER() OVER (ORDER BY [Sortierung]) AS Sortierung
  22. INTO #Vorsortiert FROM [test1].[dbo].[Sortiertest]
  23. ORDER BY [Sortierung]
  24. -- Tabelle 'Sortiertest' aktualisieren
  25. UPDATE [test1].[dbo].Sortiertest
  26. SET [Sortiertest].[Sortierung] = #Vorsortiert.Sortierung * 2
  27. FROM #Vorsortiert
  28. INNER JOIN [Sortiertest] ON #Vorsortiert.ID = [Sortiertest].[ID]
  29. END
  30. GO
  31.  

Hinweis

Diese Stored Procedure ist nur ein Muster; es fehlt insbesondere jegliche Form von Fehlerbehandlung.

Die Tabelle zum obigen Beispiel

  1. USE [test1]
  2. GO
  3.  
  4. /****** Object: Table [dbo].[Sortiertest] Script Date: 06/11/2011 10:48:34 ******/
  5. SET ANSI_NULLS ON
  6. GO
  7.  
  8. SET QUOTED_IDENTIFIER ON
  9. GO
  10.  
  11. CREATE TABLE [dbo].[Sortiertest](
  12. [ID] [bigint] IDENTITY( 1, 1) NOT NULL,
  13. [Muster] [nchar]( 10) NULL,
  14. [Sortierung] [int] NOT NULL,
  15.   CONSTRAINT [PK_Sortiertest] PRIMARY KEY CLUSTERED
  16. (
  17. [ID] ASC
  18. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  19. ) ON [PRIMARY]
  20.  
  21. GO
  22.  

Speicherort

SQL-Scripte; Asus

SQLQuery3.sql

Dienstag, 7. Juni 2011

Einschraenkung

Hinweis:
Dieser Beitrag macht nur für mich Sinn; nicht wundern.

Im Prinzip wurde diese Klasse für die Update-Klasse geschrieben; es funktioniert aber auch für SELECT- oder DELETE-Statements. Keine besondere Raffinesse; es können jedoch mehrere
Einschränkungen mit AND oder OR verknüpft werden.

Der Nutzen steckt in der Kurzschreibweise: Dim x as new Einschraenkung(23) ergibt WHERE ID = 23

Ob es Sinn macht zeigt die Zukunft.

Stammnamespace

leopoldnet.tinytools.DatenbankTools

Speicherort

VB-Projekte Juni 2011; Asus

Beispiel:

  1. Imports tt = leopoldnet.tinytools.DatenbankTools
  2.  
  3. Module Module1
  4.  
  5.     Sub Main()
  6.         Dim oWhere As New tt.Einschraenkung(23)
  7.         Dim oFremdschluessel As _
  8.             New tt.Einschraenkung("FK_Muster" , 42)
  9.  
  10.         oWhere.und(oFremdschluessel)
  11.  
  12.         MsgBox(oWhere.toWhere)
  13.     End Sub
  14.  
  15. End Module

Montag, 6. Juni 2011

Tool für Textumwandlung.

Hinweis:
Dieser Beitrag macht nur für mich Sinn; nicht wundern.

Ein arg dreckiges Tool zum Umwandeln von Text in HTML liegt in der Hermann-Leopold-Suite: Der TextHtmlizer. Nichts für die große weite Welt, aber für die Shoptemplates doch sehr gut geeignet.

Speicherort:

VB-Projekte Juni 2011; Asus

Freitag, 3. Juni 2011

Tool für hübscheren Quellcode

Hinweis: Dieser Beitrag macht nur für mich Sinn; nicht wundern.

Ein kleines Tool zu Erstellen von schöneren Quellcodeangaben im Internet: Code2Html.

Das Tool bockt zwar mehr als ein Esel auf Red Bull und hat mehr Bugs als ein "Starship Troopers"-Film, aber dafür ist alles schön bunt.

Speicherort:VB-Projekte Mai 2011; Asus

Beispiel:

  1. #Region "Konstruktoren"
  2.      ''' <summary>
  3.      ''' Konstruktor
  4.      ''' </summary>
  5.      ''' <param name="iNummer">Die Nummer der Farbe</param>
  6.      ''' <param name="iRot">Der Wert für die Farbe "rot"</param>
  7.      ''' <param name="iGruen">Der Wert für die Farbe "grün"</param>
  8.      ''' <param name="iBlau">Der Wert für die Farbe "blau"</param>
  9.      ''' <remarks></remarks>
  10.      Public Sub New (ByVal iNummer As Integer , ByVal iRot As Integer , ByVal iGruen As Integer , ByVal iBlau As Integer )
  11.         With Me
  12.              .rot = iRot
  13.             .gruen = iGruen
  14.             .Blau = iBlau
  15.             .Nummer = iNummer
  16.         End With
  17.      End Sub