![]() |
Datenbank: MSSQL • Version: 2005 • Zugriff über: ADO
FieldByName und SQL
Seit ich von Access auf SQL 2005 umgestiegen bin, habe ich einige Dinge an der Syntax umstellen müssen.
Hat auch mit ein bißchen Nachdenken fast immer funktioniert. Bis auf, dass ich
Delphi-Quellcode:
mit FieldByName bei SQL immer auf die Nase falle. Funktioniert das bei SQL nicht mehr, oder muss ich was ändern?
DOQuery1.FieldByName('OrderFile').AsString := AFileName;
|
Re: FieldByName und SQL
Sollte eigentlich funktionieren. Versuch mal
Delphi-Quellcode:
DOQuery1.FieldByName('OrderFile').Value := AFileName;
|
Re: FieldByName und SQL
Das Feld Oderfile wird nicht gefunden, obwohl es da ist.
Muss ich es näher beschreiben? |
Re: FieldByName und SQL
Stimmt die Groß-/Keinschreibung?
|
Re: FieldByName und SQL
ja.
Wie könnte ich denn per SQL einer Variable einen Wert zuweisen? Evtl. gehts ja sorum. |
Re: FieldByName und SQL
SQL-Code:
Insert into <Tabelle> set orderfile = :orderfile;
|
Re: FieldByName und SQL
ok.Ich probiere es gleich mal.
Nehme ich bei der Abfrage SQL.ADD oder SQL.TXT? |
Re: FieldByName und SQL
DS.SQL.Text
|
Re: FieldByName und SQL
Danke.
|
Re: FieldByName und SQL
Zitat:
'SELECT ..., OrderFile, ... FROM ... WHERE ...' |
Re: FieldByName und SQL
ich schaffe es einfach nicht einer Variable einen Wert zuzuweisen
Bei
Delphi-Quellcode:
schmiert er mir mit einer Zugriffsverletzung ab, und bei adoquery1.SQL.text := 'select max (ID) from auftraege'; adoquery1.Open; timestamp := adoquery1.FindField('ID').AsString;
Delphi-Quellcode:
timestamp := adoquery1.fieldbyname('ID').asstring;
findet er das Feld 'ID' nicht, obwohl es da ist. Ziel ist es einfach nur, der Variable Timestamp den Wert aus ID zuzuweisen. :wall: |
Re: FieldByName und SQL
Hat sich erledigt.
So funzt es :
Delphi-Quellcode:
adoquery1.sql.clear;
adoquery1.SQL.text := 'select max (ID) as MaxID from auftraege'; adoquery1.Open; timestamp := adoquery1.FindField('MaxID').AsString; |
Re: FieldByName und SQL
Hai Cosamia,
ich glaube es liegt an deiner SELECT Abfrage. Durch die Funktion MAX() liefert der Server das Ergniss nicht in dem Feld [ID] sondern wahrscheinlich in [Expr1]. Versuche es doch mal so:
Delphi-Quellcode:
[Edit]. grummel... Da tipp ich mir die Flossen wund und er hat schon die Lösung gefunden :stupid:adoquery1.SQL.text := 'select max (ID) AS max_id from auftraege'; adoquery1.Open; timestamp := adoquery1.FieldByName('max_id').AsString; |
Re: FieldByName und SQL
Zitat:
![]() |
Re: FieldByName und SQL
Warum wird eigentlich das selbe Thema des gleichem Authors in zwei Threads behandelt?
Hier ist der andere (fast identische) Thread: ![]() |
Re: FieldByName und SQL
Zitat:
|
Re: FieldByName und SQL
Zitat:
|
Re: FieldByName und SQL
Hallo,
hier hätte auch
Delphi-Quellcode:
geholfen.
adoquery.Fields[0]
Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz