Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi BDE - MS SQL und ein TQuery Problem - HILFE!!! (https://www.delphipraxis.net/111227-bde-ms-sql-und-ein-tquery-problem-hilfe.html)

DelphiPeter 31. Mär 2008 20:46

Datenbank: Microsoft SQL Server • Version: 2000 • Zugriff über: BDE

BDE - MS SQL und ein TQuery Problem - HILFE!!!
 
Hallo zusammen!

War ja schon lange nicht mehr da. NUn habe ich allerdings wieder ein Problem,das mich noch zur Verzweiflung bringt, und ich dachte, bevor ich mir den Strick hole, frage ich mal euch , ob ihr eine Idee habt :wall:

Ich baue eine Verbindung zu einem MS SQL Server auf (funktioniert), dann mache ich mit meiner TQuery unter anderem, die folgende Abfrage.

Delphi-Quellcode:
...
qWorks.Close;
qWorks.ClearFields;
qWorks.SQL.Text := 'SELECT Code,KAnsprechpCode,'+HK+'E-Mail'+HK+' FROM dbo.Kunden WHERE '+HK+'E-Mail'+HK+'='+HK+dbFrom+HK+';';
qWorks.Open;
...
Als Fehler bekomme ich das hier

Zitat:

qWorks: Datenmenge weder im Editier- noch im Einfügemodus
Ich habe nun schon mehrfach gegoogelt und schon einges zu dieser Meldung gelesen, aber ich kann das Problem nicht auf meinem Projekt abbilden.

Hat jemand von euch denn eventuell eine Idee, wo hier das Problem liegen kann? Ich arbeite zum ersten mal mit der BDE und bin nicht sonderlich überzeugt davon, aber es ist mir eben aufgetragen worden.

Wäre super wenn mir jemand von euch helfen könnte. Ich bin mir sicher, das ihr mehr Erfahrung mit der BDE habt, als ich.


Also, danke im Vorraus!

Peter

mkinzler 31. Mär 2008 20:48

Re: BDE - MS SQL und ein TQuery Problem - HILFE!!!
 
qWorks.ClearFields;

Bernhard Geyer 31. Mär 2008 20:57

Re: BDE - MS SQL und ein TQuery Problem - HILFE!!!
 
Zitat:

Zitat von DelphiPeter
Ich arbeite zum ersten mal mit der BDE und bin nicht sonderlich überzeugt davon, aber es ist mir eben aufgetragen worden

Dann ärger dich nicht damit herum und nimm gleich die seit Delphi 5 verfügbaren ADO/dbGo-Komponenten. BDE ist Tod und wird mit Delphi 2008 entgültig begraben. Wieso also hier noch versuchen irgendwelches Wissen anzuarbeiten.

Ersetze erstmal TDataset durch TADODataset und TQuery durch TADODataset. Für den ConnectionString gehst du auch nicht über ADO sondern nimmst den ADO Provider für den MS SQL Server. Diverse Einstiegsturorials gibt es hier

DelphiPeter 31. Mär 2008 20:59

Re: BDE - MS SQL und ein TQuery Problem - HILFE!!!
 
Hallo MKinzler,

also meinst du das ist wirklich alles? Das wäre ja einfach. Werde es gleich mal testen. Danke schonmal dafür!

sx2008 31. Mär 2008 21:17

Re: BDE - MS SQL und ein TQuery Problem - HILFE!!!
 
Deine Abfrage hat noch Fehler:
1.) Wenn's geht, das Feld E-Mail umbenennen, da der SQL-Server sonst E minus Mail rechnen möchte
Empfehlung: nur Feld- und Tabellennamen verwenden, die auch als Variablenname in Pascal zulässig wären !

2.) falls Feldumbennung nicht möglich, dann Feldname in doppelte Anführungszeichen setzen. Einfache Hochkommas wären hier falsch

3.) ersetze HK+dbFrom+HK durch QuotedStr(dbFrom). Das gilt für alle Stellen, an denen du einen String in Hochkommas packen möchtest. Lösche die Konstante HK; du brauchst sie nicht.

mkinzler 31. Mär 2008 21:27

Re: BDE - MS SQL und ein TQuery Problem - HILFE!!!
 
Oder noch besser mit (SQL-)Parameter.
Aber Bernhard hat natürlich Recht, Ado ist erstens besser bei MSSQL und die BDE ist etwas veraltet.

Bernhard Geyer 31. Mär 2008 22:17

Re: BDE - MS SQL und ein TQuery Problem - HILFE!!!
 
Zitat:

Zitat von sx2008
2.) falls Feldumbennung nicht möglich, dann Feldname in doppelte Anführungszeichen setzen. Einfache Hochkommas wären hier falsch

Gar nicht darauf geachtet. Ich dachte sowas ähnliches schon mal aufgrund von BDE-Fehlern gelesen zu haben.

Peinhard 1. Apr 2008 07:34

Re: BDE - MS SQL und ein TQuery Problem - HILFE!!!
 
Ich kann mich den Vorrednern nur anschliessen - nichts mehr mit der BDE anfangen. Die riecht nicht nur komisch, die ist wirklich mausetot. Statt Anführungszeichen kann man übrigens auch eckige Klammern als Begrenzer nehmen, ich finde das übersichtlicher zu lesen.

DelphiPeter 2. Apr 2008 12:34

Re: BDE - MS SQL und ein TQuery Problem - HILFE!!!
 
Hallo!

Sorry für die späte Antwort. Also es lag am ".ClearFields". Habe es weg gelassen und shcon geht es. Wenn ich die BDE nicht vorgeschrieben bekommen hätte, würde ich ja auch was anderes benutzen.

Wenn man sich an die ganzen Kleinigkeiten gewöhnt hat, ist es ja gar nicht so schlimm.

Danke also an alle Helfer!

Gruß, Peter

Bernhard Geyer 2. Apr 2008 12:44

Re: BDE - MS SQL und ein TQuery Problem - HILFE!!!
 
Zitat:

Zitat von DelphiPeter
Wenn ich die BDE nicht vorgeschrieben bekommen hätte, würde ich ja auch was anderes benutzen.

Man kann solche Vorgaben auch hinterfragen. U.u. wissen die Verantwortlichen gar nicht das solch eine Vorgabe überholt ist bzw. eher schädlich für die SW-Stabilität.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.
Seite 1 von 2  1 2      

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