AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MS Access-Verbindung funktioniert nur in der IDE
Thema durchsuchen
Ansicht
Themen-Optionen

MS Access-Verbindung funktioniert nur in der IDE

Ein Thema von OsCor · begonnen am 14. Dez 2022 · letzter Beitrag vom 16. Dez 2022
 
Delphi.Narium

Registriert seit: 27. Nov 2017
2.559 Beiträge
 
Delphi 7 Professional
 
#24

AW: MS Access-Verbindung funktioniert nur in der IDE

  Alt 16. Dez 2022, 13:04
Vermutlich ist da ein ganz banaler Fehler, den ich nicht erkennen kann.
Der komplette Code sieht so aus:
Code:
unit HFCon;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB;

type
  TForm1 = class(TForm)
    ADOTable1: TADOTable;
    ADOConnection1: TADOConnection;
    procedure FormCreate(Sender: TObject);

  private
    function GetConnectionString(handle : THandle; ADOConnection1 : TADOConnection;*sConnection : String = '') : Boolean;
  public
  end;

var
  Form1: TForm1;
  implementation

{$R *.dfm}
function GetConnectionString(handle : THandle; ADOConnection1 : TADOConnection;*sConnection : String = '') : Boolean;
begin
**ADOConnection1.Connected := False;
**// Hier wird der Dialog zum Aufbau des ConnectionString aufgerufen,
**// analog zu dem Aufbau per ObjektInspektor in der IDE.
**ADOConnection1.ConnectionString := PromptDataSource(handle, sConnection);
**ADOConnection1.Connected := True;
**Result := ADOConnection1.Connected;
end;
procedure TForm1.FormCreate(Sender: TObject);

begin
  if GetConnectionString(handle,ADOConnection1) then begin
****// Hier sollte die Datenbankverbindung bestehen.
****// Den ConnctionString kannst Du Dir, bei Bedarf per STRG+C aus dem Dialog
****// kopieren und dann an sinnvoller Stelle speichern bzw. der ADOConnection zuweisen.
****ShowMessage(ADOConnection1.ConnectionString);
**end
  else
   begin
****MessageDLG('Es konnte keine Datenbankverbindung hergestellt werden.',mtError,[mbOk],0);
**end;
end;

  end;


end.
In der IDE wird schon in der Deklaration der Funktion der Name GetConnectionString mit einer Wellenlinie unterlegt und als Fehler markiert.

Gruß
Oswald
Die Funktion ist eigentlich kein Teil des Formulars.

Die Zeilenfunction GetConnectionString(handle : THandle; ADOConnection1 : TADOConnection;*sConnection : String = '') : Boolean; hinter private ist überflüssig.

Ein Umbenennen von ADOConnection nach ADOConnection1 ist ebenfalls überflüssig.

Einfach mal meine Funktion unverändert übernehmen und den Aufruf ebenfalls?

Noch ein Versuch:
Delphi-Quellcode:
function GetConnectionString(Handle : THandle;
                             ADOConnection : TADOConnection;
                             sConnection : String = '') : Boolean;
begin
  ADOConnection.Connected := False;
  // Hier wird der Dialog zum Aufbau des ConnectionString aufgerufen,
  // analog zu dem Aufbau per ObjektInspektor in der IDE.
  ADOConnection.ConnectionString := PromptDataSource(handle,sConnection);
  ADOConnection.Connected := True;
  Result := ADOConnection.Connected;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  if GetConnectionString(handle,ADOConnection1) then begin
    // Hier sollte die Datenbankverbindung bestehen.
    // Den ConnctionString kannst Du Dir, bei Bedarf per STRG+C aus dem Dialog
    // kopieren und dann an sinnvoller Stelle speichern bzw. der ADOConnection zuweisen.
    ShowMessage(ADOConnection1.ConnectionString);
  end else begin
    MessageDLG('Es konnte keine Datenbankverbindung hergestellt werden.',mtError,[mbOk],0);
  end;
end;
Und das jetzt bitte einfach nur per Copy&Paste in Deinen Quelltext übernehmen.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:46 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