Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi einfache Datenbankanwendung ODBC SQL (https://www.delphipraxis.net/112114-einfache-datenbankanwendung-odbc-sql.html)

WS1976 16. Apr 2008 05:27

Re: einfache Datenbankanwendung ODBC SQL
 
Hallo,

du scheinst alles durcheinander zus schütteln um dann zu schauen was rauskommt.
ODBC ADO und SQL weisst du was sich dahinter verbirgt? ADO und ODBC schliessen sich fast
zwangsläufig gegenseitig aus. Dir scheint es grundsätzlich an Wissen zu fehlen.
Bitte lies dir erstmal Kinzlers Vorschlag durch. Werd dir klar was du eigentlich willst versuchs und
stell dann deine Fragen.

Grüsse
Rainer

mkinzler 16. Apr 2008 05:38

Re: einfache Datenbankanwendung ODBC SQL
 
Warum schließen sich ADO und ODBC aus? ADO ist mehr oder weniger der Nachfolger von ODBC und ermöglicht die Verwendung von ODBC-Treibern für den Zugriff auf DBMS.

Bernhard Geyer 16. Apr 2008 06:10

Re: einfache Datenbankanwendung ODBC SQL
 
Zitat:

Zitat von mkinzler
Warum schließen sich ADO und ODBC aus? ADO ist mehr oder weniger der Nachfolger von ODBC und ermöglicht die Verwendung von ODBC-Treibern für den Zugriff auf DBMS.

Sie schließen sich nicht aus aber man sollte sie vermeiden.

Als Delphi-User gibt/gab es folgende Schichtung der Zugriffstechniken

a, Anwendung -> BDE -> ODBC -> ODBC-Treiber -> Datenbank (Endgültiges Ende mit Delphi 2008 angekündigt)
b, Anwendung -> BDE -> SQL-Links -> SQL-Links-Treiber -> Datenbank (Seit Jahren abgekündigt)
c1, Anwendung -> dbGO/ADOExpress -> ADO -> OLE DB-Treiber -> Datenbank
c2, Anwendung -> dbGO/ADOExpress -> ADO -> OLE DB-Treiber für ODBC -> ODBC-Treiber -> Datenbank
d, Anwendung -> dbExpress -> dbExpress-Treiber (Teilweise Zugriff auf OLE DB je nach DBMS) -> Datenbank ->
e, Anwendung -> native Zugriffskomponenten (ZEOS, CoreLabs, AnyDac) (-> teilweise native Treiber) -> Datenbank


Je länger (Anzahl der Zwischenstufen) desto höher sind di Konfigurationsaufwände und desto höher die Wahrscheinlichkeit von Problemen (Treiber, Versionskonflikte, ...)

mkinzler 16. Apr 2008 06:36

Re: einfache Datenbankanwendung ODBC SQL
 
Aber nicht ganz optimal heisst nicht sich ausschliessen.

Bernhard Geyer 16. Apr 2008 06:46

Re: einfache Datenbankanwendung ODBC SQL
 
Zitat:

Zitat von mkinzler
Aber nicht ganz optimal heisst nicht sich ausschliessen.

Hab ich doch geschrieben :zwinker: :

Zitat:

Sie schließen sich nicht aus aber man sollte sie vermeiden.

mkinzler 16. Apr 2008 06:59

Re: einfache Datenbankanwendung ODBC SQL
 
Du nicht.

raena 16. Apr 2008 09:22

Re: einfache Datenbankanwendung ODBC SQL
 
ok Leute, vielen Dank. Mein Programm läuft jetzt erst mal.
Ich will jetzt das Teil umstellen auf
a, Anwendung -> BDE -> ODBC -> ODBC-Treiber -> Datenbank

D.h. weg von ADO. Was ist denn das Pendant von "TADOConnection"

Hier mein Programm, was funktioniert, euch aber nicht gefallen wird :P :P

Delphi-Quellcode:
program Databaseprj;

uses
  Forms,
  DBtest in 'DBtest.pas' {Form2};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.

unit DBtest;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ADODB, Grids, DBGrids, DB, StdCtrls;

type
  TForm2 = class(TForm)
    ADOConnection1: TADOConnection;
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    DBGrid_SQL_Result: TDBGrid;
    btn_Query: TButton;
    Edt_SQL_Input: TEdit;
    procedure btn_QueryClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;
implementation

{$R *.dfm}

procedure TForm2.btn_QueryClick(Sender: TObject);
begin
{showmessage('test');}

ADODataSet1.active:=false;
ADODataSet1.CommandText:=Edt_SQL_Input.Text;
ADODataSet1.active:=true;

end;



procedure TForm2.FormCreate(Sender: TObject);
begin
Edt_SQL_Input.Text:='select * from ';
end;

end.

raena 16. Apr 2008 09:29

Re: einfache Datenbankanwendung ODBC SQL
 
noch ne Frage,

wie kann ich das machen, dass der Conncetion String nicht fix ist, sondern
dass ein Fenster aufpoppt mit den vorhandenen ODBC Einträgen in dem man dann
die entsprechenden Verbindung auswählen kann?
Weiss jemand das?

Danke.

mkinzler 16. Apr 2008 09:36

Re: einfache Datenbankanwendung ODBC SQL
 
Zitat:

D.h. weg von ADO. Was ist denn das Pendant von "TADOConnection"
Warum weg von ADO? Man sollte eher einen großen Bogen um die BDE machen!

raena 16. Apr 2008 09:46

Re: einfache Datenbankanwendung ODBC SQL
 
ok meinetwegen mit ADO, aber was ist denn dann an meinem Programm falsch?
Auf den ersten Click funktioniert es.


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

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