AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi NEW bei QInsert bei TFIBDataset

NEW bei QInsert bei TFIBDataset

Ein Thema von Artur · begonnen am 1. Mai 2007 · letzter Beitrag vom 2. Mai 2007
Antwort Antwort
Artur

Registriert seit: 31. Dez 2006
Ort: Augsburg
70 Beiträge
 
Delphi XE8 Enterprise
 
#1

NEW bei QInsert bei TFIBDataset

  Alt 1. Mai 2007, 10:51
Datenbank: Firebird • Version: 2.0 • Zugriff über: lokal / LAN
Guten Morgen,

ich hoffe Ihr (bzw. Eure Autos und Gartentore) habt die Freinacht gut überstanden

Ich beiße mich gerade ein wenig durch FIBplus durch (ist doch ziemlich anders als mit TIBTable)
Wenn ich ein FIBDataset nehme, dann den SLQSelect setze ('SELECT * FROM kunden') und anschließend im Editor die SQL-Statements Insert-SQLText, Modify, etc. erstellen lasse, erscheinen die Parameter mit :FELDNAME


Wenn ich den gleichen Spaß im Programm mache, setz FIBplus im Insert-SQLTExt ein 'NEW_' davor. Wie werde ich das los?

Delphi-Quellcode:
    with pFIBDataSetClnt do
    begin
      Close;
      SelectSQL.Clear;
      SelectSQL.Add('SELECT * FROM '+SyncTable);
      QInsert.SQL.Text := GenerateSQLText(SyncTable,'db_guid',skInsert,ifsAllFields);
      QUpdate.SQL.Text := GenerateSQLText(SyncTable,'db_guid',skModify,ifsAllFields);
      Open;
    end;





Und kann ich eigentlich die FIBplus Hilfe ins Delphi Hilfesystem einbinden? Das manuelle Suchen statt STRG + F1 nervt ein wenig.

Ciao,

Artur
Artur
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: NEW bei QInsert bei TFIBDataset

  Alt 1. Mai 2007, 17:26
Was macht denn das GenerateSQLText genau ? Noch nicht gesehen. Kann aber fast nur daran liegen. Gewöhne dir aber egal wie am besten an, Parameter zu benutzen.
Gruß
Hansa
  Mit Zitat antworten Zitat
Artur

Registriert seit: 31. Dez 2006
Ort: Augsburg
70 Beiträge
 
Delphi XE8 Enterprise
 
#3

Re: NEW bei QInsert bei TFIBDataset

  Alt 2. Mai 2007, 21:50
Guten Abend, hansa,

das arbeiten mit Parametern ist genau der Sinn von GenerateSQLText.
Damit erstellt FIBPlus die SQL-Texte für die gewünschten Querys (also in dem Beispiel ein SQL-Text um einen Datensatz über einen INSERT einzufügen und ein SQL-Text, um ein UPDATE durchzuführen).

Nur witzigerweise arbeitet das Ganze, wenn man es in der IDE über den Experten macht anders, als wenn man es im Code über die Prozeduren anstößt.

Ich habe jetzt auch gelernt, dass FIBplus beim FIBDataset diese SQL-Texte braucht, damit man mit Feldern wie bei einer IBTable arbeiten kann. Dabei ist das Verhalten aber auch verschiednen: Wenn ich einen parameterisierte SQL-Text verwende, die Parameter mit den Werten fülle und dann QInsert.ExecQuery bzw. QUpdate.ExecQuery ausführe, gibt es bei ein paar Datensätze einen Stringconvert Fehler. Wenn ich das Ganze mit Feldern ähnlich wie bei IBTable mache und dann FIBDataset.Post aufrufe, kommen die Fehler nicht
(Obwohl meine Tabellen nicht ganz koscher sind, denn beim Scrollen mit IBExpert kommen auch Fehler).

Strange, strange....



Ciao,


Artur
Artur
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: NEW bei QInsert bei TFIBDataset

  Alt 2. Mai 2007, 22:58
Zitat von Artur:
...Wenn ich das Ganze mit Feldern ähnlich wie bei IBTable mache und dann FIBDataset.Post aufrufe, kommen die Fehler nicht..
Da liegt eben der Hund begraben. Vergesse den ganzen IBTable/IBQuery-Kram, so wie die ganze BDE.
Gruß
Hansa
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:55 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