Liebe Gäste des Forums
Danke, dass ihr euch hier auf dem inoffiziellen Windev-Forum umschaut. Hier werden Tipps und Hinweise zu der von PC-Soft angebotenen Software Windev besprochen.
Windev ist eine leistungsstarke, sehr umfangreiche Entwicklersoftware für Webseiten, Handys und Rechner verschiedener Betriebssysteme. Mehr unter http://www.windev.com

Nativer Zugriff auf ADS Datenbanken

Alles was nicht in ein Thema zuordnungsbar ist
Antworten
GHard
Junior Member
Beiträge: 12
Registriert: 29. September 2011, 09:52

Nativer Zugriff auf ADS Datenbanken

Beitrag von GHard » 13. Oktober 2011, 08:54

Hi,

momentan versuche ich .DBF Dateien in mein Projekt einzubinden. Die Indizes liegen im .CDX Format vor und als Verbindungstyp habe ich „Native xBase Access for WinDev“ ausgewählt.

Die Einzelansicht klappt auch ganz gut.
Einzelansicht.jpg
Einzelansicht.jpg (20.55 KiB) 10381 mal betrachtet
Allerdings gibt es Probleme bei der Darstellung im Browser.
Am Anfang zeigt er die Tabelle noch korrekt an. Wenn ich dann auf einen Datensatz klicke, zeigt er an der Stelle einen anderen Datensatz an (meist den ersten sichtbaren). Wenn ich alle Datensätze nacheinander anklicke, steht überall der gleiche Datensatz.
Browser.jpg
Browser.jpg (29.03 KiB) 10381 mal betrachtet
Dabei wird der aktuelle Datensatz im Record auch nicht verändert. Erst wenn ich die Tabelle hin und her scrolle wird die Tabelle wieder richtig angezeigt. Ähnliche Probleme traten auch auf wenn ich die Tabelle als Quelle für eine Listbox oder eine Combobox definiert habe.


Hat jemand eine Ahnung wo das Problem liegen könnte und wie man es beheben kann?

Wie bindet ihr denn eigentlich ADS Datenbanken so ein, so dass sie im shared Modus geöffnet werden und andere Programme weiterhin auf diese zugreifen können?


MfG Gerhard

Benutzeravatar
BRANDELH
Site Admin
Beiträge: 199
Registriert: 30. Juni 2010, 14:31
Wohnort: Germersheim
Kontaktdaten:

Re: Nativer Zugriff auf ADS Datenbanken

Beitrag von BRANDELH » 13. Oktober 2011, 11:35

Soweit ich mich erinnere werden die DBF Dateien nur für den Import eingebunden, ohne Indexe und Satzsperren.
Konkurierend mit Xbase++ oder Cli**er würde ich garnicht versuchen ;-)

Was die ADS angeht, gibt es denn überhaupt einen ADS Treiber für WinDev ?

Benutzeravatar
klammerauf
Member
Beiträge: 113
Registriert: 28. November 2010, 15:11
Wohnort: bei Karlsruhe
Kontaktdaten:

Re: Nativer Zugriff auf ADS Datenbanken

Beitrag von klammerauf » 13. Oktober 2011, 15:54

Kurzer Hinweis auf diesen Beitrag:

http://windevforum.de/viewtopic.php?f=30&t=62

Wenn ich das richtig sehe, dann gehts hier um zwei Dinge:

1. ) Probleme bei der Darstellung von Tabellendaten, vermutlich mit WebDev (richtiges Forum?)

Wann immer ich Änderungen an Tabellendaten mache, füge ich ein TableDisplay() hinzu. Vielleicht hilft das.
Wenn es hier tatsächlich um WebDev geht, dann würde ich noch schauen, dass 'Ajax mode' bei der Tabelle eingeschaltet ist.

2. ) Zugriff auf DBF Tabellen mit ADS

Das geht nur über OLE DB, siehe der obige Beitrag. Dann geht aber auch Record Locking.

HTH
Sebastian
--
http://arnoldconsult.de
WinDev 21 mit Oracle und MySQL, WinDevMobile Android Apps und Motorola Windows CE Mobile Barcode Scanners, Python 3 mit Oracle, SQLite und MySQL

GHard
Junior Member
Beiträge: 12
Registriert: 29. September 2011, 09:52

Re: Nativer Zugriff auf ADS Datenbanken

Beitrag von GHard » 23. Oktober 2011, 11:08

Hi,

vielen Dank für die Tipps!
Ich hab es jetzt geschafft per OLE DB einen Zugriff auf die Datenbank zu bekommen.
An einigen Stellen läuft es zwar noch nicht so wie ich es will aber das wird noch.

Vielen Dank nochmal für die schnelle Hilfe!

P.S.: ich arbeite wirklich mit WinDev und nicht mit WebDev, bin aber ein Neuling in programmieren und in WinDev


MfG Gerhard

GHard
Junior Member
Beiträge: 12
Registriert: 29. September 2011, 09:52

Re: Nativer Zugriff auf ADS Datenbanken

Beitrag von GHard » 7. November 2011, 13:42

Hi,

der Zugriff auf die Datenbanke klappt zwar aber es dauert fast 30 Minuten eine Tabelle in die Analysis einzubinden.
Könnte es daran liegen, dass ich WinDev 15 Express benutze?

Benutzeravatar
BRANDELH
Site Admin
Beiträge: 199
Registriert: 30. Juni 2010, 14:31
Wohnort: Germersheim
Kontaktdaten:

Re: Nativer Zugriff auf ADS Datenbanken

Beitrag von BRANDELH » 7. November 2011, 18:32

Hi,

eher dass die Tabellen wohl viele Daten enthalten und ODBC ist nicht das schnellste ;-)

GHard
Junior Member
Beiträge: 12
Registriert: 29. September 2011, 09:52

Re: Nativer Zugriff auf ADS Datenbanken

Beitrag von GHard » 9. November 2011, 09:41

Hi,

die Tabelle, die ich zum austesten benutze, hat nur 4 Spalten und 7 Datensätze.

In der Firma wird bereits in VB Script per ODBC auf die ADS zugegriffen - die Verbindung wird bei jedem Start neu gesetzt und das geht deutlich schneller als 30 Minuten (Es sind wirklich 30 Minuten bei WinDev, keine Ironie!) .
Der Zugriff ist für mich so wichtig, weil davon abhängt ob wir in der Firma xBase durch WinDev ersetzen.
Auf den SQL Server kann bereits zugreifen aber es werden auch Daten aus der ADS benötigt.

Ich hab in der Analysis zuerst eine Verbindung mit dem Typen "ODBC Access via OLE DB" erstellt und dann über diese Verbindung die Tabellen eingebunden.
Ist das die korrekt Vorgehensweise?
Welchen Typen nehmt ihr denn oder bindet ihr die Tabellen per Code ein wenn ihr sie braucht?

Ein weiteres Problem ist folgendes:
Wenn ich (endlich) die Tabelle eingebunden habe und ein Formular erstelle um neue Datensätze anzulegen und dann neue Datensätze abspeichern will, kommt jedesmal die Fehlermeldung, dass die Tabelle schreibgeschützt ist.
Ich benutze HAdd() um neue Datensätze einzufügen, beim SQL Server klappt das einwandfrei.
Was genau muss ich machen damit ich Daten in die ADS schreiben kann?

GHard
Junior Member
Beiträge: 12
Registriert: 29. September 2011, 09:52

Re: Nativer Zugriff auf ADS Datenbanken

Beitrag von GHard » 11. November 2011, 15:27

Hi,

ich hab das Problem gelöst.
Falls jemand wissen will wie, hier findet er die Antwort:

viewtopic.php?f=30&t=62

Das ist der Beitrag den Sebastian hier schon angesprochen hat

Antworten