AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Easy DataBase Komponenten
Thema durchsuchen
Ansicht
Themen-Optionen

Easy DataBase Komponenten

Ein Thema von clues1 · begonnen am 22. Okt 2004 · letzter Beitrag vom 3. Feb 2006
Antwort Antwort
Seite 4 von 4   « Erste     234   
clues1
Registriert seit: 11. Feb 2004
Hallo an Alle.

Ich habe ein Projekt geschrieben, das es allen Personal / Standard Nutzern ermöglichen soll, eine Verbindung zu einer Datenbank aufzubauen, ohne Probleme mit der Borland Database Engine zu bekommen. Da diese BDE erst ab Professional freigegeben ist, kann man diese als Ersatz dafür nehmen.
Die Komponenten spricht über OLE die ADODB Schnittstellen von Windows an.
Das soll ein Open Source Projekt werden und ich brauch dazu auch eure Hilfe.
Guckt einfach mal in die Referenz rein.

Online Referenz:
http://Steffen99.gmxhome.de/EDB/Referenz/index.html (für 1.0.0.7)

EDB-Komponenten (Alles Source Code, inklusive Referenz)
http://Steffen99.gmxhome.de/EDB/EDB_inkl_ref1007.zip ~ 738 KB

Offline Referenz:
http://Steffen99.gmxhome.de/EDB/Referenz.zip

Update: EDB 1.0.0.7 ist jetzt verfügbar und Referenz aktualisiert.

Aufgrund der letzten Anfragen, dass die EDB auch unter D2005PE laufen nur mit kleinen Bugs, habe ich diese nun entfernt.
Also ab jetzt laufen die Komponenten auch in Delphi 2005 PE (Win32) Versionen.

Ich wünsche noch viel Spaß mit den EDB Komponenten.
 
delphipitti

 
Delphi 7 Professional
 
#31
  Alt 16. Jun 2005, 19:57
Halli-Hallo,

jetzt muss ich mich doch mal mit in diesen Post einmischen.

Ich nutze die EDB-Combos seit geraumer Zeit - und habe bsiher nichts besseres und vergleichbares gefunden.

@ bigg:

Zitat:
Ich konnte keine Demo auffinden, bei der man sich direkt zu einem Server verbinden konnte,
dabei ist das doch das Wichtigste.
Was ist an einer Verbindung zum Server so schwer!??? Die beigefügten Demso sind LEICHT verständlich. Natürlich sollte man sich mit der befehlsreferenz von SQL auskennen um überhaupt einen Sinn und Zweck in der EDBCombo zu sehen.

Ich konnte ohne Probleme eine Verbindung zu meinem (externen) MySQL-Server herstellen. Kostet genau zwei Zeilen lesen und eine Zeile coden

Zitat:
Genau das ist doch der Punkt.
Wozu benötigt man Datenbank-Komponenten ohne Datenbank?
Es besteht doch die Verbindung zur Access-DB - reicht dies nicht um die Combos zu testen???

@ clues

Lass dir deine Super-Codearbeit nicht vermiesen, denn deine EDB´s sind einfach nur gut. Weiter so!!!

Viele Grüße,

delphipitti
  Mit Zitat antworten Zitat
clues1
 
#32
  Alt 16. Jun 2005, 22:05
Sorry, für alle kann ich es nicht recht machen.

Die Referenz soll ja alle Befehle kurz erklären und keine Bedienungsanleitung sein.
Diese Komponenten sind konstenlos, wurden von mir bisher alleine entwickelt und ich werde es weiter machen.

Zitat:
Genau das ist doch der Punkt.
Wozu benötigt man Datenbank-Komponenten ohne Datenbank?
Dazu sage ich nichts......

@delphipitti: Danke dir, ich werde versuchen die Kompos weiter zu entwickeln.
@all: Derzeit bin ich dabei dies in .NET zu portieren als Namespace auch für C# usw zur Verfügung zu stellen.
  Mit Zitat antworten Zitat
mr.johnnyb
 
#33
  Alt 2. Feb 2006, 15:13
Hallo zusammen,

auch wenn der letzte Beitrag ein weilchen zurück liegt. Auf mich hat das Thema genau zugetroffen, naja bin in Delphi absolut neu und Habe Das Borland Developer Studio 2005 PE, nun wie ich im Verlauf der Treads gesehen habe ist die Komponente auf Win32 Basis auch hiermit Kompatibel. Nun Ihrgendwie wollte bei mir geines der Beispiele mit MYSQL oder MSSQL laufen in die *.mdb schreiben geht. Nun dann dache ich schreibste dir selbst ein kleines Script einfach um mal zu probieren, Dieses sieht wie folgt aus:

Delphi-Quellcode:
unit Verb001_uni;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, EDB, EDB_const, EDBSQLStrings;

type
  TForm1 = class(TForm)
    EDB1: TEDB;
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
EDB1.CreateDBConnection(db_MYSQL, 'D73G822J', 'test', 'root', 'password1');

if EDB1.IsDBConnect then
    ShowMessage('Juhuuuuu es hat geklappt, wir sind mit der DB verbunden.')
else
    ShowMessage('Mist Verbidung hat immer noch nicht geklappt.');

EDB1.DB_Command('CREATE TABLE tbl_test (ID int AUTO_INCREMENT NOT NULL)')
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Close
end;

end.
Das Projekt liegt im gleichen Verzeichnis, wie die "Easy DataBase" Dateien. Komplieren geht auch aber beim Klick auf den Button kommt immer Zurück das keine Verbindung besteht, und Die Tabelle wird auch nicht angelegt. Kann mir bitte bitte jemand helfen.

Mit besten Grüßen
Mr. Johnny B
  Mit Zitat antworten Zitat
clues1
 
#34
  Alt 2. Feb 2006, 17:43
Hallo mr.johnnyb.

Für MySQL musst du die dll "myodbc3.dll", die im Package mitgeliefert wird, auf dem Client PC installieren.
Das Kannst du über die EDB Komponente mit dem Befehl durchführen: InstallMySQLDriver('Wo auch immer die dll liegt\myodbc3.dll')
Die Dll wird dann kopiert dann ein Registry-Eintrag gemacht. Damit hast du dann einen ODBC Eintrag dafür, dieser wird dann in der EDB Komponente verwendet.
Dann funktioniert auch in deinem Script.
Bei der aller ersten Installation (EDB Prüft selbst) werden Adminrechte benötigt. Ansonnsten wird ganz normal geöffnet, wenn es schon installiert ist.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
EDB1.InstallMySQLDriver('Wo auch immer die dll liegt\myodbc3.dll'); <= Installiert und check ob es registriert ist

EDB1.CreateDBConnection(db_MYSQL, 'D73G822J', 'test', 'root', 'password1');

if EDB1.IsDBConnect then
    ShowMessage('Juhuuuuu es hat geklappt, wir sind mit der DB verbunden.')
else
    ShowMessage('Mist Verbidung hat immer noch nicht geklappt.');

EDB1.DB_Command('CREATE TABLE tbl_test (ID int AUTO_INCREMENT NOT NULL)')
end;
Beim MSSQL Server musst du aufpassen, es gibt 2 Modis, einmal den SQL Login und den Windows Authentifizierungs-Login.

Zitat:
Datasource = Name oder IP des Datenbankservers

InitDB = Start Datenbank wird ausgewählt

UN = Anmelde Username (Nur SQL Login)

PW = Anmelde Passwort (Nur SQL Login)

WindowsSecurity = Windows Authentifizierung verwenden (true = Windows Authentifizierung; False = SQL Login)
Ich hoffe es hilft dir.
Gruß Steffen
  Mit Zitat antworten Zitat
mr.johnnyb
 
#35
  Alt 2. Feb 2006, 20:03
Zu erstmal riesen Dank für die schnelle Antwort. Nun deine Zeile hat geholfen (erstaunt dich warscheinlich nicht wirklich ) D.h. die Firewall meldet einen Zugriff auf Prot 3306 )also wie es sein muss. Naja aber jetzt bekomme ich beim Klick auf den Button nach der Firewall meldung den Fehler "Zugriffsverletzung bei Adresse 0043ECF8 in Modul verb001_proj.exe. Lesen von Adresse 575C3A2F". Kannst du damit was anfangen? Wenn ja was kann ich dagegen tun? oder ist das zu schwammig?

Mit bestem Dank im Vorraus
Mr. Johnny B
  Mit Zitat antworten Zitat
clues1
 
#36
  Alt 2. Feb 2006, 20:44
mhhh ja, hilf leider nicht wirklich viel.
Auf jeden Fall scheint etwas nicht richtig erstellt zu sein.
Schreibe mal bitte das Stück Quellcode wo die Meldung kommt.
Dann könnte ich dir besser helfen.
  Mit Zitat antworten Zitat
mr.johnnyb
 
#37
  Alt 2. Feb 2006, 21:02
Das muss in dem Moment passieren wo versucht wird den connect zum MySQL Server zu Connecten, aber wenn ich michmittels Win Authentifizierung zum MSSQL verbinde kommt kein fehler, bei Benutzerauthentifizierung aber schon.

Das wäre also dieser Bereich:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
EDB1.InstallMySQLDriver('C:\Documents and Settings\Johannes\Desktop\Delphi PE DE erweiterung\Datenbankverb1\MySQL\myodbc3.dll');
EDB1.CreateDBConnection(db_MYSQL, 'D73G822J', 'test', 'root', 'password1');

if EDB1.IsDBConnect then
    ShowMessage('Juhuuuuu es hat geklappt, wir sind mit der DB verbunden.')
else
    ShowMessage('Mist Verbidung hat immer noch nicht geklappt.');

EDB1.DB_Command('CREATE TABLE tbl_test (ID int AUTO_INCREMENT NOT NULL)')
end;
  Mit Zitat antworten Zitat
mr.johnnyb
 
#38
  Alt 3. Feb 2006, 08:23
Naja jetzt scheint auf alle fälle die Verbindung zur MSSQL DB zuverlässig zu Funktionieren. Aber wenn ich deine Befehle zum erstellen einer Tabelle übernehmen (ist ja im Grunde normales SQL) wird diese nicht angelegt. Habe ich die Befehle vielleicht falsch im Programm verpackt? Hier nochmal der Auschnitt. Wäre echt super wenn du oder jemand anders der sich mit EDB1 auskennt ansehen könnte.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin

EDB1.CreateDBConnection;
    EDB1.DB_Command('CREATE TABLE tbl_Test (ID int AUTO_INCREMENT NOT NULL, Name varchar(50) NULL, PRIMARY KEY(ID)');
    EDB1.DB_Insert('INSERT INTO testtable (testfeld) VALUES ("Test")');
if EDB1.IsDBConnect then
   ShowMessage('Verbindung zur Datenbank steht')
else
   ShowMessage('Fehler beim Verbinden zur Datenbank!')

end;
Mit besten Dank im vorraus
Gruß
Johnny
  Mit Zitat antworten Zitat
mr.johnnyb
 
#39
  Alt 3. Feb 2006, 15:10
So habe es selbst hinbekommen waren fast alles die Typischen Anfängerfehler und ein Teil Unwissenheit. Hat jemand erfahrungswerte mit den Komponenten im Zusammenhang mit Oracle oder einer IBM DB2?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


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 10:40 Uhr.
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