case

Januar 26, 2011 - Lesezeit: ~1 Minute

case -Rückgabe eines Wertes nach einer Auswahl

select case WERT 
           when -1 then 'unbekannt'
           when 1  then 'Ja'
           else 'No'
         end from ... 

 

oder

select case
          when GEBURT is null and GESCHLECHT=2 then 'Geburt ist unbekannt'
          when LAKTATION = 0 and GESCHLECHT=2 then 'weibl. Kalb'
          when LAKTATION > 0 then 'Kuh'
          else 'Das wird nie eine Kuh'
         end from ...

 

Tags:

Ausgabe einer Meldung bei der Kompilierung

Januar 21, 2011 - Lesezeit: ~1 Minute

{$Message Hint 'Herrn XXX fragen, ob die Zeilen wegfallen können.'}    // Hinweis

 

Tags:

Umstellung auf Drupal 6

Januar 14, 2011 - Lesezeit: ~1 Minute

Da die Unterstützung für Drupal 5 eingestellt wurde, musste die Seite auf Drupal 6 umgestellt werden.

Dabei ist auch die Theme der Seite verlustig gegangen.

Tags:

Win7, OnBeforePost und DevExpress Grid 6.53

November 16, 2010 - Lesezeit: ~1 Minute

In der Version 6.53 existiert ein Designfehler im cxGrid, wenn in der Event OnBeforePost eine Messagebox aufgerufen wird

 

procedure TForm1.dxMemData1BeforePost(DataSet: TDataSet);
begin
  if MessageDlg('save record?', mtConfirmation,mbYesNo,0) <> mrYes then
    Abort;
end;

 

Der Dialog sollte eigentlich so aussehen:

Ansicht Fehler

 

Durch den Fehler sieht es aber so aus:

Ansicht ok

 

 

Als Workaround wurde mir von DevExpress folgendes empfohlen:

 

procedure TForm1.dxMemData1BeforePost(DataSet: TDataSet);
begin
  cxGrid1.Perform(WM_SETREDRAW, Integer(false), 0);
  try
    if MessageDlg('save record?', mtConfirmation, mbYesNo, 0) <> mrYes then
      Abort;
  finally
    cxGrid1.Perform(WM_SETREDRAW, Integer(true), 0);
  end;
end;
Tags: Delphi Delphi 2009 DevGrid

Ubuntu 10.10 und VMWare 7.1

Oktober 11, 2010 - Lesezeit: ~1 Minute

Die Installation der VMWare-Module unter Ubuntu 10.10 funktioniert nicht. Mit dem Patch geht es

Tags: Ubuntu VMWare

execute block - dynamische Proceduren

September 28, 2010 - Lesezeit: 3 Minuten

Eine SQL-Statement nutzen, das alle Merkmale der Stored Procedure aufweist, ohne das dieses in der Datenbank definiert ist. Das ist mit "EXECUTE BLOCK" möglich:

 

EXECUTE BLOCK [(<inparams>)]
      [RETURNS (<outparams>)] AS [<var-decls>]
 BEGIN
   PSQL statement(s)
 END
 
<inparams>   ::=  paramname type = ? [, <inparams>]
<outparams>  ::=  paramname type [, <outparams>] 
<var-decls>  ::=  <var-decl> [<var-decls>]
<var-decl>   ::=  DECLARE [VARIABLE] varname type [= initvalue]; 
 

Beispiel: Ausgabe von 100 Sätzen mit 2 Feldern

 

execute block 
returns (NR integer,Txt varchar(100))
as
declare variable i integer;
begin
  i=0;
  while (i<100) do begin 
    i=i+1;
    NR=i;
    Txt='Satz: '||i;
    suspend;
  end
end

 

 

Tags: Firebird