AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Frage zu RequestLive
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu RequestLive

Ein Thema von Gambit · begonnen am 6. Jun 2003 · letzter Beitrag vom 6. Jun 2003
Antwort Antwort
Seite 1 von 2  1 2      
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#1

Frage zu RequestLive

  Alt 6. Jun 2003, 00:12
Warum klappt folgendes bzw, warum ändert RequestLive hier seinen Wert wenn es vorher auf false stand

Delphi-Quellcode:
Query1.RequestLive := true;
Query1.Active := false;
Query1.SQL.Strings[1]:= '';
Query1.Active := true;
Und hier nicht

Delphi-Quellcode:
Query1.RequestLive := true;
Query1.Active := false;
Query1.SQL.Strings[1]:= 'order by Name';
Query1.Active := true;
Gruß

Gambit

P.S anders herum gehts, wenn vorher RequestLive auf true steht, kann man:

Delphi-Quellcode:
Query1.RequestLive := false;
Query1.Active := false;
Query1.SQL.Strings[1]:= 'order by Name';
Query1.Active := true;
und es funzt.
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#2
  Alt 6. Jun 2003, 07:35
Könntest Du mal genauer beschreiben, was nicht funktioniert? hast Du das Programm schon mal Zeilenweise durchdebugt?
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#3
  Alt 6. Jun 2003, 09:46
Ich wüsste jetzt ehrlichgesagt nicht, wie ich das noch näher beschreiben sollte. Ich möchte meine DB schreibgeschützt öffnen(daran liegt mir wirklich viel am Herzen). Daher habe ich eine CheckBox eingebaut, die sich solcher Routinen bedient. DataSource ist eine Query. Die DB wird also eh nicht editierbar geöffnet, egal ob ich in den Eigenschaften der Query RequestLive auf tru oder false setzte.
Wenn die erste der o.g. Routinen aufrufe, wo ich Request Live auf true setzen will, darf ich nicht noch 'order by name' verwenden, sonst kann ich nach wie vor nix editieren.

Gruß

Gambit
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#4
  Alt 6. Jun 2003, 09:51
Debugge das programm doch einfach mal zeilenweise durch. Dann kannst Du nachvollziehen, was es tatsächlich macht.
  Mit Zitat antworten Zitat
Natalia

Registriert seit: 13. Mai 2003
47 Beiträge
 
Delphi 7 Professional
 
#5
  Alt 6. Jun 2003, 10:29
RequestLife funktioniert leider nicht bei allen SQL-Abfragen.
Folgendes steht dazu in der Delphi-Hilfe:

"Alle Abfragen über mehrere Tabellen liefern schreibgeschützte Ergebnismengen. Auch andere Vorgaben können zu schreibgeschützten Ergebnismengen führen. Sehen Sie sich bei lokalen Tabellen (wie z.B. dBASE und Paradox) in der Hilfe zu Local SQL die Regeln zu aktualisierbaren Ergebnismengen an. Ziehen Sie für andere Tabellentypen (wie z.B. InterBase, Oracle und Sybase) die Dokumentation für das entsprechende Datenbanksystem zu Rate."

Vielleicht kann dir das weiterhelfen?

Natalia
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#6
  Alt 6. Jun 2003, 10:34
Zitat von Natalia:
RequestLife funktioniert leider nicht bei allen SQL-Abfragen.
Stimmt. Deswegen hatte ich Gambit an anderer Stelle schon einmal empfohlen, es TUpdateSQL zu versuchen. Dies setzt aber eine andere Arbeitsweise als die jetztige tabellenorientierte voraus. Dann sollten IMHO auch keine datensensitiven Controls, die direkt auf die DB zugreifen genutzt werden. Oder man verwendet TClientDataSet.
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#7
  Alt 6. Jun 2003, 14:36
Tja, so wirds wohl sein. Da ich aber blutiger Anfänger bin, belasse ichs erstmal so. Was ich nur witzig finde ist, dass es andersherum funzt, also

Delphi-Quellcode:
Query1.RequestLive := false;
Query1.Active := false;
Query1.SQL.Strings[1]:= 'order by Name';
Query1.Active := true;
Hier ändert RequestLive seinen Wert, auch wenn order by Name angegeben ist. Komisch das.

Und wg. TUpdateSQL, da hab ich kein Beispiel für gefunden und kann mir somit nix drunter vorstellen.

Gambit
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#8
  Alt 6. Jun 2003, 18:07
Zitat von Gambit:
Da ich aber blutiger Anfänger bin, belasse ichs erstmal so.
Als blutiger Anfänger kannst Du ja erst mal TTable benutzen denke (ist für Paradox auch die bessere Alternative). So hast Du zunächst ein gewissen Lerneffekt. Später solltest Du Dich dann mal mit Interbase (oder MySQL) an Client-Server-Programmierung herantasten. Vielleicht kann Dir jemand aus dem Forum auch mal einen Buchtip geben zur DB-Programmierung mit Delphi.
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#9
  Alt 6. Jun 2003, 18:16
OK, Danke! Ich denke für den Anfang ist mein Buch schon gar nicht schlecht(Datenbankprogrammierung mit Delphi 6 aus dem Hanser Verlag von Doberenz und Kowalski)

Besten Dank

Gambit
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#10
  Alt 6. Jun 2003, 20:45
Hallo Gambit

Also ZUERST(!!!) Query schliessen

Query1.Close;

und erst dann RequestLive ändern:

Query1.RequestLive := FALSE;

vielleicht jetzt SQL zuweisen,

und erst dann:

Query1.Open

Gruß

Paul Jr.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:44 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