Autor |
Beitrag |
patrick dee
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: Do 19.06.03 12:33
hallo
ich suche in meiner musikdatenbank (paradox) nach einer cd so :
Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.btnsearch1Click(Sender: TObject); begin Query1.SQL.Clear; Query1.SQL.Add('Select * from musi where nummer Like ' + #39#37 + edit1.text + #37#39); Query1.open;
end; |
geht wunderbar. nun soll wenn ich das starte auch gleich sortiert werden, das meines wissens wohl so gehen sollte :
Quelltext 1:
| Query1.Sql.Add('SELECT * FROM musi order by nummer'); |
nun wie bringe ich das ganze eine eine anweisung unter ?
und da fällt mir noch ein auf anraten einzelner hier bei auq sollte man von der bde langsam abkommen. nun wie sage ich der query das sie auf eine bestimmte bde zugreifen soll. also ohne die bde in anspruch zu nehmen.
danke euch
patrick
_________________ Glauben heißt nichts wissen ...
|
|
Tweafis
      
Beiträge: 647
WinXP + fbsd
Delphi 5 Prof
|
Verfasst: Do 19.06.03 12:37
Quelltext 1:
| Select * from musi where nummer Like ' + #39#37 + edit1.text + #37#39 + 'order by nummer' |
_________________ .: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
|
|
patrick dee 
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: Do 19.06.03 12:42
Danke Tweafis es geht. kann ich eigendlich bei der abfrage so etwas wie eine progressbar einsetzen um zu sehen wie weit die abfrage schon ist ??
ciao
patrick
_________________ Glauben heißt nichts wissen ...
|
|
MrSpock
      
Beiträge: 262
|
Verfasst: Do 19.06.03 14:09
Hallo Patrick dee,
nein, das mit dem Progressbar geht nicht. Die BDE werten das SQL Statement aus und führt die notwendigen Schritte aus: dazu könnte gehören, die Tabellen aus dem Netz zu holen (bei Netzwerkanwendungen) und dann die Durchführeung des bzw. der Zugriffe. Leider sind diese Schritte nicht einzeln nachvollziebar und ggf. ist die Länge derselben Operation sehr unterschiedlich. Ein Progressbar ist somit nicht möglich.
_________________ Live long and prosper
MrSpock \\//
|
|
ase
      
Beiträge: 203
Gentoo, Windows 9X, ME, 2k, NT, XP
Delphi 7 Prof., PHP 5 (Eclipse 3 SDK)
|
Verfasst: Fr 20.06.03 21:10
MrSpock hat folgendes geschrieben: | Hallo Patrick dee,
nein, das mit dem Progressbar geht nicht. Die BDE werten das SQL Statement aus und führt die notwendigen Schritte aus: dazu könnte gehören, die Tabellen aus dem Netz zu holen (bei Netzwerkanwendungen) und dann die Durchführeung des bzw. der Zugriffe. Leider sind diese Schritte nicht einzeln nachvollziebar und ggf. ist die Länge derselben Operation sehr unterschiedlich. Ein Progressbar ist somit nicht möglich. |
falsch. ein progress bar ist möglich. dazu müsste ich aber die delphi version wissen. es gab bei delphi 1 noch die unit DBProcs oder so. da waren die ganzen header funktionen der bde drinnen. es war eine callback funktion darunter, die statusinformationen zurückgeliefert hatte. eine implementierung kann in den RX komponenten gefunden werden. bei neueren delphi versionen denke ich wird sich das genauso verhalten.
_________________ -EN
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Fr 20.06.03 22:30
Zitat: | falsch. ein progress bar ist möglich. |
Dann erkläre mal bitte wie, ohne eine Glaskugel zu bemühen.
_________________ Gruß
Hansa
|
|
ase
      
Beiträge: 203
Gentoo, Windows 9X, ME, 2k, NT, XP
Delphi 7 Prof., PHP 5 (Eclipse 3 SDK)
|
Verfasst: Fr 20.06.03 22:36
na habe ich doch geschrieben. schau dir die RX komponenten an. in den header files für die BDE existierte soeine routine mal. ich denke das die immernoch da ist. funzt ähnlich derer, die man aus der winapi her kennt. man ruft eine funktion auf, übergibt das handle der query und nen prozedurpointer und die prozedur, deren adresse übergeben wurde wird dann aufgerufen.
_________________ -EN
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Fr 20.06.03 22:42
Du willst mir also tatsächlich erzählen, zu wissen wie die query aussieht, bevor sie ausgeführt wird ?
Oder braucht man dazu echt Delphi1 ? Hab ich hier. 
_________________ Gruß
Hansa
|
|
ase
      
Beiträge: 203
Gentoo, Windows 9X, ME, 2k, NT, XP
Delphi 7 Prof., PHP 5 (Eclipse 3 SDK)
|
Verfasst: Fr 20.06.03 22:48
bitte was? ich glaube wir verstehen uns falsch.
du legst den quelltext für die query fest. TQuery.SQL
dann rufst du die misteriöse prozedur auf und übergibst der das datenbank handle.
dann führst du die query aus und während der ausführung ruft die BDE dann diese farproc auf die du angegeben hast.
nuklar?
und wenn du mir nich glaubst... dann zeige ich dir mal das 1. ergebnis einer google suche:
bdn.borland.com/arti...0,1410,16327,00.html
_________________ -EN
|
|
Cashels
      
Beiträge: 167
|
Verfasst: Fr 20.06.03 22:58
Hallo,
in dem Artikel wird aber in erster Linie über Batch Jobs gesprochen. Was Hansa aber sicherlich meinte ist, imVorfeld rauszufinden wielange eine einzige "Select" Anweisung zur Ausführung braucht. Da muss ich Hansa Recht geben, das geht so nicht mit einer Progressbar.
Gruss,
Tom
|
|
ase
      
Beiträge: 203
Gentoo, Windows 9X, ME, 2k, NT, XP
Delphi 7 Prof., PHP 5 (Eclipse 3 SDK)
|
Verfasst: Fr 20.06.03 23:02
leute... probierts aus! es geht. ich habe es mal vor einiger zeit gemacht. sicher, der progress bar läuft bei einem select nicht von 0 bis 100. ich meine mich erinnern zu können das er 4 arbeitsschritte visualisiert. das teil läuft dann 4 mal kurz von 0 auf 100 oder so. wenn das immer 4 mal ist, dann kann man ja 400 draus machen... gelle?
_________________ -EN
|
|