![]() |
AW: SQL query
Zitat:
|
AW: SQL query
Also, ich bin nun zu foldendem Teilerfolg gekommen mit folgendem Code:
Delphi-Quellcode:
Wenn ich diesen Query abschieße: Writeln(Query.SQL.Add('Select count(*) from tbuser')); bekomme ich 0 zurück ich habe jedoch 17 einträge? ist das eventuell der Fehlercode?
var
Conn : TADOConnection; Query: TADOQuery; provider : string; begin try CoInitialize(nil); Conn := TADOConnection.Create(nil); Conn.ConnectionString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info = False;Initial Catalog=test;Data Source=localhost'; Conn.Connected := true; Query := TADOQuery.Create(nil); Query.Connection := Conn; Writeln(Query.SQL.Add('select count(*) from tbuser')); Query.Active := true; except on e : exception do begin writeln(e.message); halt(1); end; end; end. wenn ja wie bekomme ich den Output des Query's? Vielen Dank im Voraus! PS: für die MSDE wird SQLOLEDB.1 verwendet LG |
AW: SQL query
Du setzt ja das active := true; auch zu spät. 8-)
|
AW: SQL query
und wo gehört das active hin?
|
AW: SQL query
ich würde es ungefähr so machen
Delphi-Quellcode:
Ist natürlich meistens Blödsin mehrere Werte (wenn vorhanden) in eine Variable auszulesen.
query.close;
query.sql.text:='select count(*) as Meinwert from mytable'; query.open; while not query.eof do begin meinWert:=query.fieldbyname('Meinwert').asinteger; query.next; end; query.close; Ist aber als Grundstruktur ganz brauchbar. Gruß K-H |
AW: SQL query
das prinzip verstehe ich nicht
wieso sieht der query so aus:
Delphi-Quellcode:
bzw. warum dieses zeile?
query.sql.text:='select count(*) as Meinwert from mytable';
Delphi-Quellcode:
ich will ja nur einen Wert oder ein count absetzen wie zB:
meinWert:=query.fieldbyname('Meinwert').asinteger;
select count(*) from tbuser oder select username from tbuser LG |
AW: SQL query
Wie Hansa schon schrieb:
Zitat:
select-statement auf die Reise. So sollte es gehen:
Delphi-Quellcode:
query.sql.text:='select count(*) as Meinwert from mytable';
query.Active := true; WriteLn(query.FieldByName('Meinwert').AsString); |
AW: SQL query
hm alles klar :) so funktionierst
Delphi-Quellcode:
aber das mit dem
var
Conn : TADOConnection; Query: TADOQuery; wert : string; begin try CoInitialize(nil); Conn := TADOConnection.Create(nil); Conn.ConnectionString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info = False;Initial Catalog=test;Data Source=localhost'; Conn.Connected := true; Query := TADOQuery.Create(nil); Query.Connection := Conn; query.SQL.Text := 'select count(*) as wert from tbuser'; query.Active := True; Writeln(query.FieldbyName('wert').asstring); except on e : exception do begin writeln(e.message); halt(1); end; end; end.
Delphi-Quellcode:
ist für mich irgendwie unlogisch :)
query.SQL.Text := 'select count(*) as wert from tbcall';
dh. ich setze praktisch in meinem query die variable? LG und DANKE |
AW: SQL query
Hab jetzt versucht mir das ganze zu vereinfachen und eine unit zu schreiben:
Delphi-Quellcode:
ABBEERR ich habe ja nun das problem, das ich an dieser stelle:
unit sqlst;
interface uses SysUtils,db,adodb,activex; function connect(): string; function query(query : string) : string; function close(): string; var conn : TADOConnection; query1 :TADOQuery; IMPLEMENTATION function connect(): string; begin try CoInitialize(nil); Conn := TADOConnection.Create(nil); Conn.ConnectionString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info = False;Initial Catalog=test;Data Source=localhost'; Conn.Connected := true; except on e : exception do begin writeln(e.message); halt(1); end; end; end; function query(query : string) : string; begin try query1 := TADOQuery.Create(nil); query1.Connection := Conn; query1.SQL.Text := query; query1.Active := True; except on e : exception do begin writeln(e.message); halt(1); end; end; end; function close(): string; begin try query1.SQL.Clear; query1.close; except on e : exception do begin writeln(e.message); halt(1); end; end; end; end.
Delphi-Quellcode:
und zwar genau an dieser Stelle
function query(query : string) : string;
begin try query1 := TADOQuery.Create(nil); query1.Connection := Conn; query1.SQL.Text := query; query1.Active := True; except on e : exception do begin writeln(e.message); halt(1); end; end; end;
Delphi-Quellcode:
ich muss hier ja auch diesen wert überegeben... wie könnte ich das lösen?
query1.SQL.Text := query;
mir fehlt praktisch diese zeile:
Delphi-Quellcode:
LG und DANKE
query.FieldbyName('wert').asstring
|
AW: SQL query
Hi,
Du solltest den Parameter der Funktion nicht genauso wie die Funktion selber nennen !
Delphi-Quellcode:
Greetz Data
function query(sQuerySQL : string) : string;
Var oTmpQry : TAdoQuery; begin oTmpQry := TADOQuery.Create(nil); try try oTmpQry.Connection := Conn; oTmpQry.SQL.Text := sQuerySQL; oTmpQry.Active := True; result := oTmpQry.FieldbyName('wert').asstring except on e : exception do begin writeln(e.message); halt(1); end; end; Finally oTmpQry.free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:02 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