AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Einen Extra Feld in DBGRIB beschreiben?
Thema durchsuchen
Ansicht
Themen-Optionen

Einen Extra Feld in DBGRIB beschreiben?

Ein Thema von Karstadt · begonnen am 16. Jan 2006 · letzter Beitrag vom 16. Jan 2006
Antwort Antwort
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#1

Einen Extra Feld in DBGRIB beschreiben?

  Alt 16. Jan 2006, 08:28
Datenbank: Mysql • Version: 4 • Zugriff über: ODBC
Hallo. Habe mier Query einen Feld in dBgrib eingebunden, 2es Feld habe ich manuel ertellt. Nun möchte ich in diesen 2 Feld (pro Datensatz) irgendwas schreiben.

wiht Query
While not Eof do
begin
dbg_status.Columns[1].Field.AsString := 'irgendwas'; //Das ist sicherlich Falsch!
Next;
end;

funktioniert bei mir leider nicht, woran liegt das?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Einen Extra Feld in DBGRIB beschreiben?

  Alt 16. Jan 2006, 09:02
Hallo.

Delphi-Quellcode:
begin
  with Query do
  begin
    First;
    while not Eof do
    begin
      Edit;
      Fields[1].AsString := 'irgendwas';
      Next;
    end;
    Post;
  end;
end;
Wenn das nicht funktioniert, dann ist deine Query nicht update-fähig - oder ich habe mich vertippt. Schau nach, ob du Query.RequestLive auf TRUE gesetzt hast.

Grüße vom marabu
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#3

Re: Einen Extra Feld in DBGRIB beschreiben?

  Alt 16. Jan 2006, 09:25
Hallo. Ich will nicht in eine Tabelle schreiben, sonder in DBGRIB (Zeile Temp) was reinschreiben, diese Weerte werde nicht gespeichert. Außerdem kann ich mit TQUERY nicht editieren, das ist eine Anzeige komponente
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#4

Re: Einen Extra Feld in DBGRIB beschreiben?

  Alt 16. Jan 2006, 09:37
Dann musst du in deiner Query ein berechnetes Feld anlegen und im OnCalcFields Ereignis der TQuery füllen.
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Einen Extra Feld in DBGRIB beschreiben?

  Alt 16. Jan 2006, 09:44
Zitat von Karstadt:
Außerdem kann ich mit TQUERY nicht editieren, das ist eine Anzeige komponente
Setzt man RequestLive auf True, erhält man eine editierbare Ergebnismenge der Datenbank.
Ansonsten OnCalcFields benutzen.

Cu, Frank
Frank Reim
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#6

Re: Einen Extra Feld in DBGRIB beschreiben?

  Alt 16. Jan 2006, 09:45
Hallo Probiere ich später aus ich habe das erstmal mit SringGrib gelöst. Danke für ihre hilfe
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
672 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Einen Extra Feld in DBGRIB beschreiben?

  Alt 16. Jan 2006, 11:48
Zitat von Karstadt:
Hallo. Ich will nicht in eine Tabelle schreiben, sonder in DBGRIB (Zeile Temp) was reinschreiben, diese Weerte werde nicht gespeichert. Außerdem kann ich mit TQUERY nicht editieren, das ist eine Anzeige komponente
Habe ich neulich jemanden geraten, da er keine berechneten Felder nehmen konnte: im SELECT die zusätzliche Spalte angeben, zb SELECT a.*, 'teststring mit richtiger längeas irgendwas FROM mytable a und dann OnGetText der Felder dynamisch überschreiben:
Delphi-Quellcode:
type
  TForm3 = class(TForm)
    AdsConnection1: TAdsConnection;
    AdsQuery1: TAdsQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    procedure AdsQuery1AfterOpen(DataSet: TDataSet);
  private
    { Private declarations }
    procedure irgendwasGetText(Sender: TField; var Text: string; DisplayText: Boolean);
  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.AdsQuery1AfterOpen(DataSet: TDataSet); begin
  TBlobField(AdsQuery1.FieldByName('irgendwas')).OnGetText:=irgendwasGetText;
end;

procedure TForm3.irgendwasGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  if SameText(Sender.FieldName,'irgendwas')
    then begin
      Text:='hallo Welt';
    end;
end;
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz