![]() |
Datenbank: MSSQL • Version: 2008 • Zugriff über: ADO
Funktion mit Query; wie rückgabeWert?
Hallo!
Und zwar ich habe eine Function mit einem Rückgabewert als String. In dieser Function lese ich Ich die Katalognummer des jeweiligen Schülers aus Jetzt möchte ich diese Nummer als Rückgabewert erhalten aber wie funktioniert das mit result?
Delphi-Quellcode:
function ReadKatalognummer(Vorname : String) : String;
begin DataModule1.ADOQuery_ReadKatalognr.SQL.Clear; DataModule1.ADOQuery_ReadKatalognr.SQL.Text := 'SELECT Katalognr '+ 'FROM Schueler '+ 'WHERE Name = '''+Vorname+''' '; DataModule1.ADOQuery_ReadKatalognr.ExecSQL; end; |
AW: Funktion mit Query; wie rückgabeWert?
SELECT und ExecSQL passen nicht zusammen. Wie wäre es mit Open?
|
AW: Funktion mit Query; wie rückgabeWert?
Hallo...
Delphi-Quellcode:
Nachtrag:
function ReadKatalognummer(Vorname : String) : String;
begin Result:= ''; //zur Vorsicht DataModule1.ADOQuery_ReadKatalognr.SQL.Text := 'SELECT Katalognr '+ 'FROM Schueler '+ 'WHERE Name = '''+Vorname+''' '; DataModule1.ADOQuery_ReadKatalognr.Open; Result:= DataModule1.ADOQuery_ReadKatalognr.FieldByName('Katalognr').AsString; end;
Delphi-Quellcode:
ob da die richtigen Daten kommen ? :gruebel:
'WHERE Name = '''+Vorname+''' ';
Verwendung von Parametern ist angebracht... |
AW: Funktion mit Query; wie rückgabeWert?
da fällt mir nur das hier ein:
![]() |
AW: Funktion mit Query; wie rückgabeWert?
Delphi-Quellcode:
so ungefähr sollte es ausssehen aber "Vorname" ????????
function ReadKatalognummer(Vorname : String) : String;
begin DataModule1.ADOQuery_ReadKatalognr.SQL.Text := 'SELECT Katalognr '+ 'FROM Schueler '+ 'WHERE Name =:Vorname '; DataModule1.ADOQuery_ReadKatalognr.Params.Parambyname('vorname').asstring:=vorname; DataModule1.ADOQuery_ReadKatalognr.Open; if not(DataModule1.ADOQuery_ReadKatalognr.Eof) then result:=DataModule1.ADOQuery_ReadKatalognr.FieldbyName('Katalognr').asstring; else result:=' -- no Data Found --'; DataModule1.ADOQuery_ReadKatalognr.Close; end; Gruß K-H |
AW: Funktion mit Query; wie rückgabeWert?
Sollte das nicht auch so gehen, und zwar sicher?
Delphi-Quellcode:
Const
sSQLQuery = 'SELECT Katalognr FROM Schueler WHERE Name=%s'; Var R : _Recordset; begin R := ADOConnection1.Execute(Format(sSQLQuery,[QuotedStr(Vorname)])); if R.RecordCount>0 then Memo1.Lines.add(VarToStr(r.Fields.Item[0].Value)); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:17 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 by Thomas Breitkreuz