Einzelnen Beitrag anzeigen

Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#1

SQL Abfrage: Nur Teil eines Feldinhaltes auslesen?

  Alt 24. Apr 2004, 15:02
Hi

Ich lese eine SQL Datenbank mit folgendem String in eine ListView Kompo ein:

Delphi-Quellcode:
procedure TForm1.bSucheClick(Sender: TObject);
var
   ListItem : TlistItem;
begin
  dbMain.HostName:=edServer.Text; //Server
  dbMain.User:=edLogin.Text; //Benutzername
  dbMain.Password:=edPassword.Text; //Passwort
  dbMain.Database:=edDB.Text; //Name der Datenbank
  dbMain.Connected:=True; //Verbindung herstellen
  lvAnzeige.Items.Clear;
  try
    qrMain.SQL.Text :=
  'SELECT ' +
    'T.Order_Type,' +
    'T.Customer_Number,' +
    'T.Order_Number,' +
    'T.First_Event,' +
    'T.PrePrint,' +
    'T.Print,' +
    'T.Cewe_Batch,' +
    'T.Iqena_Batch,' +
    'T.BMSLogout,' +
    'K.Na,' +
    'K.Customer_Number,' +
    'K.Str,'+
    'K.Ort,' +
    'K.Tel,' +
    'K.PFD,' +
    'K.Fach_TAG,' +
    'K.Fach_NAcht,' +
    'K.Ap,' +
    'K.PLZ ' +
  'FROM ' +
    'table_ordertracking T,' +
    'kundenmg K ' +
  'WHERE ' +
    'T.Customer_Number=K.Customer_Number ' +
    'AND ' +
    'T.Customer_Number like ''' + edknr.Text + '''"%" ' +
    'AND ' +
    'T.Order_Number like ''' + edatnr.Text + '''"%" ' +
  'ORDER BY ' +
    'T.Order_Number;';

     qrMain.Open;
     qrMain.FieldByName('Order_Type').AsString;
     gauge1.Visible:= True;
     gauge1.maxvalue := qrMain.recordcount;
     while not qrMain.Eof do
  begin
    ListItem := lvAnzeige.Items.Add;
    ListItem.Caption:=qrMain.FieldByName('Order_Type').AsString;
    ListItem.SubItems.Add(qrMain.FieldByName('Customer_Number').AsString);
    ListItem.SubItems.Add(qrMain.FieldByName('Order_Number').AsString);
    ListItem.SubItems.Add(qrMain.FieldByName('First_Event').AsString);
    ListItem.SubItems.Add(qrMain.FieldByName('PrePrint').AsString);
    ListItem.SubItems.Add(qrMain.FieldByName('Print').AsString);
    ListItem.SubItems.Add(qrMain.FieldByName('BMSLogout').AsString);
    ListItem.SubItems.Add(qrMain.FieldByName('CeWe_Batch').AsString);
    lName.Caption:=qrMain.FieldByName('Na').AsString;
    lStr.Caption:=qrMain.FieldByName('Str').AsString;
    lOrt.Caption:=qrMain.FieldByName('Ort').AsString;
    lTel.Caption:=qrMain.FieldByName('Tel').AsString;
    lAP.Caption:=qrMain.FieldByName('AP').AsString;
    lPLZ.Caption:=qrMain.FieldByName('PLZ').AsString;
    lPFD.Caption:=qrMain.FieldByName('PFD').AsString;
    lTAG.Caption:=qrMain.FieldByName('Fach_TAG').AsString;
    lNacht.Caption:=qrMain.FieldByName('Fach_Nacht').AsString;
    lIquenaBatch.Caption:=qrMain.FieldByName('Iqena_Batch').AsString;
    lCeWeBatch.Caption:=qrMain.FieldByName('Cewe_Batch').AsString;

    gauge1.progress := gauge1.progress + 1;
    qrMain.Next;
  end;
   gauge1.progress := 0;
   gauge1.Visible:= false;
   Label8.Caption:= IntToStr(qrmain.recordcount);

  if StrToInt(Label8.Caption) > 0 then
    label13.Caption:= 'Es wurden ' + Label8.Caption + ' Dateie(n) gefunden'
  else
    label13.Caption:= 'Keine Daten für ' + edKNR.Text + ' gefunden!';

  finally
    dbMain.Connected:=False; //Verbindung trennen

  end;
 end;
Das Feld First_Event ist in der SOL DB als Date/Time Formatiert. Also ist die Ausgabe im Listview z.B.: 14.04.2004 22:01:00
Ich möchte aber das nur das Datum angezeigt wird. Also in dem Fall 14.04.2004.
Weiß einer wie ich das machen muss

Gruß Celina
  Mit Zitat antworten Zitat