Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi SQL query (https://www.delphipraxis.net/154826-sql-query.html)

value is NULL 27. Sep 2010 12:45

SQL query
 
Hallo Delphianer

Bin gerade dabei mich mit SQL Query's zu beschäftigen, jedoch finde ich nur anleitungen für Form basierte Programme,
Hat jemand einen heißen tipp für mich?

danke schon mal

LG

Die Muhkuh 27. Sep 2010 12:53

AW: SQL query
 
Was willst Du wissen?

Wie man SQL-Querys im Allgemeinen schreibt?

value is NULL 27. Sep 2010 12:59

AW: SQL query
 
ja generell, habe gerade gesehen das es folgendes gibt:

Delphi-Quellcode:
uses
   SysUtiils,
   db,
   adodb;
SQL Technisch bin ich gut bewandert nur die connection zu einer lokalen MSDE ist bei mir ein großes Fragezeichen, bzw. den Output des Query's in eine variable schreibe

LG

p80286 27. Sep 2010 13:11

AW: SQL query
 
Zitat:

Zitat von value is NULL (Beitrag 1052314)
.... bzw. den Output des Query's in eine variable schreibe

Hier geistern recht viele Beispiele herum.
Such einmal nach Sql.Text, .Open, .Next etc.
Da wird dann auch gründlich diskutiert warum man etwas so und nicht anders machen sollte.

Gruß
K-H

P.S.
Wo hakt es denn konkret?
TADOConnection und TADOQuery auf das Form geklatscht, Die Connectionparameter zusammengeklickt, Connection und Query verbunden, fertig!

Hansa 27. Sep 2010 13:12

AW: SQL query
 
Du brauchst nicht mal eine einzige Form ? :shock: Aber egal, ob mit oder ohne Form, das Stichwort lautet DataModule. Das braucht keine Form. Kurzanleitung (ohne Form) : auf das Datamotule kommen TDatabase, TTransaction, TDataSet. Im OI muss dann noch alles eingestellt werden. Database zuweisen usw. Du siehst : ohne Form ist (fast) wie mit der Form. :lol: Variable wäre dann ungefähr so zuzuweisen :
Delphi-Quellcode:
i := DataSet1.FieldByName ('INTVAR').AsInteger;

value is NULL 27. Sep 2010 13:14

AW: SQL query
 
ne soll ja ne commandline app werden :)

so habe durch goolge wieder einiges erfahren
mein code sieht aktuell so aus:

Delphi-Quellcode:
var
  Conn : TADOConnection;
  Query: TADOQuery;

begin
try
  CoInitialize(nil);
  Conn := TADOConnection.Create(nil);
  Conn.ConnectionString := 'Provider=MSSQL;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=EnvironmentSafe;Data Source=test';
  Conn.Connected := true;

  Query := TADOQuery.Create(nil);
  Query.Connection := Conn;
  Query.SQL.Add('select count(*) from tbuser');
  Query.Active := true;

except
  on e : exception do begin
    writeln(e.message);
    halt(1);
  end;
end;

end.
er sagt mir aber ständig:

"Der Provider kann nicht gefunden werden." es ist eine MSDE2000

hat jemand eine idee wie ich den Provider für die MSDE angeben muss?

LG

value is NULL 27. Sep 2010 13:41

AW: SQL query
 
Zitat:

Zitat von value is NULL (Beitrag 1052318)
ne soll ja ne commandline app werden :)

so habe durch goolge wieder einiges erfahren
mein code sieht aktuell so aus:

Delphi-Quellcode:
var
  Conn : TADOConnection;
  Query: TADOQuery;

begin
try
  CoInitialize(nil);
  Conn := TADOConnection.Create(nil);
  Conn.ConnectionString := 'Provider=MSSQL;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=EnvironmentSafe;Data Source=test';
  Conn.Connected := true;

  Query := TADOQuery.Create(nil);
  Query.Connection := Conn;
  Query.SQL.Add('select count(*) from tbuser');
  Query.Active := true;

except
  on e : exception do begin
    writeln(e.message);
    halt(1);
  end;
end;

end.
er sagt mir aber ständig:

"Der Provider kann nicht gefunden werden." es ist eine MSDE2000

hat jemand eine idee wie ich den Provider für die MSDE angeben muss?

LG

also ich habs jetzt schon mit:
Provider=MSSQL / MSDE / SQL probiert aber kein erfolg, gibt es ne andere Möglichkeit? oder hat wer eine Idee zum Provider?

DeddyH 27. Sep 2010 13:47

AW: SQL query
 
Mach Dir doch schnell ein Testprojekt, packe dort eine TADOConnection aufs Form und lass Dir den ConnectionString generieren. Evtl. funktioniert der "Microsoft OLE DB Driver for SQL Server", zumindest bei SQLExpress 2008 bekomme ich damit eine Verbindung.

schlecki 27. Sep 2010 13:54

AW: SQL query
 
du kannst dir auch einfach eine leere datei erstellen, die du "Test.udl" nennst.
Dann einen Doppelklick darauf, und der Editor geht auf, in dem du ganz bequem alles einstellen kannst. Du kannst sogar diese UDL-Datei in dem Connectionstring angeben und so die Verbindung über die Datei nutzen (anstatt hard-coded)...

value is NULL 27. Sep 2010 14:10

AW: SQL query
 
Hi Schlecki habs jetzt im endeffekt eh so zum testen:

Delphi-Quellcode:
begin
opt.addoption('provider','p','provider',false,true,'','Set provider path');
  try
    opt.parse;
    if paramcount = 0 then
      raise exception.Create('Parameter missing!');
   except
      on e : exception do begin
        writeln(e.message);
        writeln(opt.usage);
        halt(1);
      end;
   end;

provider := opt.getoptasstr('provider');


try
  CoInitialize(nil);
  Conn := TADOConnection.Create(nil);
  Conn.ConnectionString := 'Provider='+provider+';Password=;Persist Security Info=True;User ID=sa;Initial Catalog=EnvironmentSafe;Data Source=voxctv3';
  Conn.Connected := true;

//  Query := TADOQuery.Create(nil);
//  Query.Connection := Conn;
//  Query.SQL.Add('select count(*) from tbcall');
//  Query.Active := true;

except
  on e : exception do begin
    writeln(e.message);
    halt(1);
  end;
end;

end.
ich versuche es jetzt mal wie DeddyH gemeint hat...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:06 Uhr.
Seite 1 von 3  1 23      

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