WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 30.07.2003, 09:06   #1
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard Howto's für Multiuser-Datenbankprogramme (für Access und auch für MS SQL 2000)

Kennt jemand ein paar Howto's über die "Do's and Don'ts" bei der Entwicklung von Programmen mit Datenbankzugriff für mehrere Benutzer?

Ich weiß, bei Access is das eher eine "gepfuschte Lösung", da nie wirklich die Tabelle gesperrt wird, wenn ein User gerade darauf arbeitet.

Aber ich denk mir da gibts sicher auch ein paar brauchbare Hints.

A paar Sachen hab ich schon gefunden - nur vielleicht kennt ja von euch ein paar besonders gute.
Es geht vor allem, wenn das ganze ausprogrammiert ist - also nicht wenn man ein Formular an eine Tabelle bindet und dann die Felder automatisch füllen lässt.
renew ist offline   Mit Zitat antworten
Alt 30.07.2003, 11:53   #2
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Ich sehe, du hast das Problem eigentlich erkannt.

Meine Grundregeln lauten:

1. Keine gebundenen Steuerelemente verwenden.

Die Daten in ein Recordset laden und bearbeiten.
Vor dem Speichern prüfen, ob der Datensatz von einem anderen
Benutzer verändert wurde.

2. Das Frontend nicht mit ACCESS erstellen.

Das hab ich anfangs gemacht. Die Erfahrung hat gezeigt, daß nach
jeder neuen Version von ACCESS der Code nicht mehr funktioniert.
Außerdem braucht man auf jedem Client ACCESS (und eine Lizenz).

Ich verwende jetzt VB. Das ergibt eine EXE, die beliebig oft
installiert werden kann. Das größte Problem dabei ist das Erstellen
der Installationsroutine.


mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 30.07.2003, 12:09   #3
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

Zitat:
Original geschrieben von wbendl
Hi!

Ich sehe, du hast das Problem eigentlich erkannt.

Meine Grundregeln lauten:

1. Keine gebundenen Steuerelemente verwenden.

Die Daten in ein Recordset laden und bearbeiten.
Vor dem Speichern prüfen, ob der Datensatz von einem anderen
Benutzer verändert wurde.

2. Das Frontend nicht mit ACCESS erstellen.

Das hab ich anfangs gemacht. Die Erfahrung hat gezeigt, daß nach
jeder neuen Version von ACCESS der Code nicht mehr funktioniert.
Außerdem braucht man auf jedem Client ACCESS (und eine Lizenz).

Ich verwende jetzt VB. Das ergibt eine EXE, die beliebig oft
installiert werden kann. Das größte Problem dabei ist das Erstellen
der Installationsroutine.


mfg

WB
Ich bin eh kein großer Freund von gebundenen Steuerelementen.

Hab ich erst einmal wirklich verwendet - weil es 1. für Leute wartbar sein soll, die sich in VB net so gut auskennen und es 2. schneller geht. (wenn ich dir das ERD der Datenbank zeig, weißt was ich mein, weil das Ding war dann so umfangreich und die Zeit so knapp,.....)
Das war aber letztes Jahr einmal...

Außerdem bin ich auch von VB 6.0 zu Access gekommen und nicht umgekehrt.

Naja, und was du da ansprichst mit in "Recordset laden und dann nachsehen ob der Datensatz bearbeitet wurde"...
Wie macht man das? Ich hab mich bis jetzt nicht wirklich mit dem Thema auseinander gesetzt, darum auch der Thread.

Kennst du zufällig eine Seite die sich mit ADO und genau dem auseinandersetzt? Ev. mit einem kleinen Beispielcode/Programm dabei - weil da lernt ma eigentlich immer am meisten und wird in Büchern auch oft verwendet.
renew ist offline   Mit Zitat antworten
Alt 30.07.2003, 13:08   #4
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Ich habe meine Weisheit aus Büchern und nächtelangem herumprobieren.

Wenn du keine Bücher kaufen willst, versuchs mal mit eMule oder ähnlichem.

Empfehlenswert sind z. B.:

1. Die Visual Basic Bibel
Ein Buch über VB insgesamt, mit guten Kapiteln über
DB-Progammierung. Besonders die Kapselung von DB-Funtionalität
in Klassen ist sehr gut erklärt.

2. Datenbanken programmieren mit VB 6
Achtung, es gibt mehrere Bücher mit diesem Titel. Das "richtige"
hat ca. 1200 Seiten, und die Originalfassung stammt vom Pabst der
DB-Programmierung. (Der Name ist mir momentan entfallen).
Das Buch beschäftigt sich mit professioneller DB-Entwicklung, und
ist auch als E-Book verfügbar.
Für den Einstieg ist das aber ziemlich schwere Kost.


Jetz noch eine Kurzbeschreibung:

Erstellen des Recordsets (wird auch in der Hilfe von VB oder ACCESS beschrieben. Wenn vorhandene Daten abgefragt werden ReadOnly.
Die DS werden z. B. in einem ListView oder Grid angezeigt.

Einen DS zum Bearbeiten auswählen. Der DS wird in einer eigenen Form angezeigt. Die Felder können verändert werden.

Nach einer Änderung klickt der User auf "Speichern".

Ein Recordset mit diesem DS öffnen. (mit Schreibrecht)

Sicherheitshalber vergleichen, ob der Inhalt des DS mit dem vorher ReadOnly geöffneten identisch ist.

Wenn nein Meldung ausgeben.

Die Änderung des Users in das RS übernehmen.

RS Speichern.

Die Verbindung zur DB ist immer nur für kurze Zeit notwendig.
Der User sieht allerdings den Datenbestand zur Zeit der Recordset-Erstellung. Änderungen durch andere User werden nicht automatisch angezeigt. Eventuell das RS aktualisieren.

Soweit die "offizielle Lösung".

Ich bastle an einer Lösung, die genauso komfortabel funktioniert wie ACCESS mit gebundenen Steuerelementen. Dabei sollen aber die Nachteile eliminiert werden. Das Ganze ist aber noch nicht reif für die Öffentlichkeit.

mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 30.07.2003, 13:19   #5
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

Zitat:
Original geschrieben von wbendl
Hi!

Ich habe meine Weisheit aus Büchern und nächtelangem herumprobieren.

Wenn du keine Bücher kaufen willst, versuchs mal mit eMule oder ähnlichem.

Empfehlenswert sind z. B.:

1. Die Visual Basic Bibel
Ein Buch über VB insgesamt, mit guten Kapiteln über
DB-Progammierung. Besonders die Kapselung von DB-Funtionalität
in Klassen ist sehr gut erklärt.

2. Datenbanken programmieren mit VB 6
Achtung, es gibt mehrere Bücher mit diesem Titel. Das "richtige"
hat ca. 1200 Seiten, und die Originalfassung stammt vom Pabst der
DB-Programmierung. (Der Name ist mir momentan entfallen).
Das Buch beschäftigt sich mit professioneller DB-Entwicklung, und
ist auch als E-Book verfügbar.
Für den Einstieg ist das aber ziemlich schwere Kost.


Jetz noch eine Kurzbeschreibung:

Erstellen des Recordsets (wird auch in der Hilfe von VB oder ACCESS beschrieben. Wenn vorhandene Daten abgefragt werden ReadOnly.
Die DS werden z. B. in einem ListView oder Grid angezeigt.

Einen DS zum Bearbeiten auswählen. Der DS wird in einer eigenen Form angezeigt. Die Felder können verändert werden.

Nach einer Änderung klickt der User auf "Speichern".

Ein Recordset mit diesem DS öffnen. (mit Schreibrecht)

Sicherheitshalber vergleichen, ob der Inhalt des DS mit dem vorher ReadOnly geöffneten identisch ist.

Wenn nein Meldung ausgeben.

Die Änderung des Users in das RS übernehmen.

RS Speichern.

Die Verbindung zur DB ist immer nur für kurze Zeit notwendig.
Der User sieht allerdings den Datenbestand zur Zeit der Recordset-Erstellung. Änderungen durch andere User werden nicht automatisch angezeigt. Eventuell das RS aktualisieren.

Soweit die "offizielle Lösung".

Ich bastle an einer Lösung, die genauso komfortabel funktioniert wie ACCESS mit gebundenen Steuerelementen. Dabei sollen aber die Nachteile eliminiert werden. Das Ganze ist aber noch nicht reif für die Öffentlichkeit.

mfg

WB
Dann sag ich mal herzlichen Dank.

Werd schaun was sich an ebooks auftreiben lässt. Ich hab eh schon eine riesen Menge an Büchern am Rechner - nur langsam fehlt mir der Überblick. Die werd ich auch mal durchsuchen und natürlich deine Buchtipps nachschauen.

Die Lösung die du da bastelst hört sich interessant an.
Falls es da schon was zum ansehen gibt was in die "richtige Richtung" geht und teilweise funktioniert(muss ja nicht fertig sein...) schreib mir bitte eine PM. Falls du es fertig bekommst, denk vielleicht daran und schick mir auch eine PM:

Also nochmals danke.
renew ist offline   Mit Zitat antworten
Alt 30.07.2003, 15:15   #6
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Im Prinzip funktioniert's schon.

Probleme hab ich mit suchen, sortieren und auto-vervollständigen bei Umlauten.

Das liegt an den Steuerelementen von APEX, die auf die deutsche Sprache nicht eingestellt sind.
Das kann ich wahrscheinlich nicht beeinflussen.

Aber sonst kann man alle Fuktionen von ACCESS nachbilden, und trotzdem mit ungebundenen Steuerelementen arbeiten.

mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 30.07.2003, 17:39   #7
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

Zitat:
Original geschrieben von wbendl
Hi!

Im Prinzip funktioniert's schon.

Probleme hab ich mit suchen, sortieren und auto-vervollständigen bei Umlauten.

Das liegt an den Steuerelementen von APEX, die auf die deutsche Sprache nicht eingestellt sind.
Das kann ich wahrscheinlich nicht beeinflussen.

Aber sonst kann man alle Fuktionen von ACCESS nachbilden, und trotzdem mit ungebundenen Steuerelementen arbeiten.

mfg

WB
Falls du die Eigenkreation her gibst (liegt natürlich an dir ) könntest es mir mailen?

Hast eine PM mit meiner Mail-Adresse.

Ich dank dir schon mal.
renew ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:14 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag