Eine einzelne Zeile schreibschützen im DataSet

Status
Nicht offen für weitere Antworten.
A

AlexDgg

Gast
Hallo zusammen,

ich habe das Problem, das ich in einem DataSet (Abhängig vom Inhalt der Zeilen) nur einzelne Zeilen schreibschützen will. Habe schon alles ausprobiert... mit Listener... etc.. hat leider nichts funktioniert.

Hat jemand eine Ahnung wie so was geht?
 
A

AlexDgg

Gast
Ich denke ich muss die Problematik noch etwas Präzisieren:

Ich verwende die Borland API dbSwing und habe eine (prinzipiell)editierbare Tabelle (jdbTable), die eine direkte Anbindung an ein DataSet hat. Nun versuche ich in dieser Tabelle einzelne Zeilen mit einem Schreibschutz zu versehen. Das geht aber nicht!
 

abollm

Top Contributor
AlexDgg hat gesagt.:
Ich denke ich muss die Problematik noch etwas Präzisieren:

Ich verwende die Borland API dbSwing und habe eine (prinzipiell)editierbare Tabelle (jdbTable), die eine direkte Anbindung an ein DataSet hat. Nun versuche ich in dieser Tabelle einzelne Zeilen mit einem Schreibschutz zu versehen. Das geht aber nicht!

Trotz Präzision die Frage:

Welche DB resp. welches RDBMS verwendest du?
 

abollm

Top Contributor
Mit dem Trum kenn ich mich net so aus. Hast du einmal bei Microsoft wegen der Sperrung auf Datenfeldebene nachgesehen?

Bei Oracle geht das, bei MS SQL Server weiß ich das nicht.
 
A

AlexDgg

Gast
Ich dachte eher, dass ich das in der GUI abfangen kann ... evlt. im DataSet oder in der Tabelle. Der SQL Server gibt immer so kryptische Fehlermeldungen zurück. Da werden die Nutzer immer verückt.
 
A

AlexDgg

Gast
mir fehlt so etwas wir stopEdit() oder cancelEdit() im DataSet oder in der Tabelle
 

abollm

Top Contributor
AlexDgg hat gesagt.:
Ich dachte eher, dass ich das in der GUI abfangen kann ... evlt. im DataSet oder in der Tabelle. Der SQL Server gibt immer so kryptische Fehlermeldungen zurück. Da werden die Nutzer immer verückt.

Ich würde das bevorzugt über die DB machen, aber was _genau_ willst bzw. musst du denn machen?
 
A

AlexDgg

Gast
Also ich habe eine Feld Status. Wenn dies einen Bestimmten wert hat, will ich je nach angemendeten Nutzer entscheiden ob dieser Datensatz geändert werden kann oder nicht (Nutzerrechte). Dies geht nicht über die DB da diese den angemeldeten Nutzer nicht kennt. Nur das FrontEnd kennt ihn. Jetzt könnte ich ein Dialog machen und im Dialog die Rechte prüfen. Das ist alledings beim editieren sehr umständlich.

Ich kenne den Status und ich kenne den Nutzer ich will nur das editieren der Tabelle bei Besagtem Datensatz verbieten oder abbrechen.
 

abollm

Top Contributor
AlexDgg hat gesagt.:
Also ich habe eine Feld Status. Wenn dies einen Bestimmten wert hat, will ich je nach angemendeten Nutzer entscheiden ob dieser Datensatz geändert werden kann oder nicht (Nutzerrechte). Dies geht nicht über die DB da diese den angemeldeten Nutzer nicht kennt. [..]

Verstehe ich nicht, wieso die DB den angemeldeten Nutzer nicht kennt. Das würde mich arg wundern, wenn der MS SQL-Server das nicht mit bekommt.

Der Ablauf ist doch bei jedem halbwegs professionellen DBMS in etwa stets der folgende:

1. Nutzer meldet sich über Frontend (das schließt auch Web-Oberfläche mit ein) an DB an und macht eine Session auf.
2. DB kennt somit den Nutzer in der betr. Session.
3. Nutzer macht irgendeine oder mehrere Transaktionen/Operationen -> SELECT, INSERT, UPDATE, DELETE
4. Nutzer beendet die Session und wird von DBMS abgemeldet.

AlexDgg hat gesagt.:
[..] Nur das FrontEnd kennt ihn. Jetzt könnte ich ein Dialog machen und im Dialog die Rechte prüfen. Das ist alledings beim editieren sehr umständlich.

Ich kenne den Status und ich kenne den Nutzer ich will nur das editieren der Tabelle bei Besagtem Datensatz verbieten oder abbrechen.

So wie ich dich verstanden habe, willst du das über das Frontend machen. Damit musst du in deiner GUI (JTable vermutlich) die notwendigen Schritte _alle_ komplett steuern Damit verstäßt du in einer Mehrbenutzerumgebung aber u.U. gegen Eindeutigkeitsregeln in der Datenbank, weil du so _niemals_ überprüfen kannst, was gerade andere Nutzer an ihren Frontends machen.

Deshalb überlege dir das noch einmal genau.
 
A

AlexDgg

Gast
Die Datenbank ist im Einbenutzermodus und die Rechte/Zugriffsregelung ist Eigenprogrammiert. Das macht in diesem Fall auch Sinn, da fast alle Rechteprüfungen im Frontend geschehen (und auch geschehen müßen).

Ich will ja nur der verdamten JTable hinter der jdbTable sagen DIESE ZEILE NICHT! Bei Spalten ist dies kein Problem WIESO NICHT BEI ZEILEN???
 
A

AlexDgg

Gast
Übrigens die Regelung der Eindeutigkeit wird über Deadlocksperren geregelt
 

abollm

Top Contributor
Ist mir jetzt halbwegs klar. Hab nur grad einen Kunden am Wickel und kann mich gerade nicht darum kümmern. Melde mich nachher nachher noch einmal hier, sofern nicht jemand anders dir die entscheidenden Tipps gibt.
 

abollm

Top Contributor
AlexDgg hat gesagt.:
Die Datenbank ist im Einbenutzermodus und die Rechte/Zugriffsregelung ist Eigenprogrammiert. Das macht in diesem Fall auch Sinn, da fast alle Rechteprüfungen im Frontend geschehen (und auch geschehen müßen).

Ich will ja nur der verdamten JTable hinter der jdbTable sagen DIESE ZEILE NICHT! Bei Spalten ist dies kein Problem WIESO NICHT BEI ZEILEN???

Vorweg: Ich kenne mich mit dem JBuilder und den zugehörigen Klassen (z.B. jdbTable) _nicht_ aus.

Angeblich soll jdbTable aber von JTable abgeleitet sein. Du benutzt, wie du selbst geschrieben hast, eine JTable. Folglich musst du ja bereits irgendwie dafür sorgen, dass die Daten vom einen in das andere (Tabellen-)Objekt gelangen. Hier würde ich nun ansetzen und z.B. die Daten in ein geeignetes Objekt zwischenspeichern und dann die Bearbeitbarkeit je nach den Werten im Statusfeld entsprechend behandeln.

Warum du allerdings bestimmte Spalten und nicht bestimmte Zeilen für das Edieren sperren kannst, blicke ich derzeit (noch) nicht. Was hältst du davon, einfach die Daten vor der eigentlichen Bearbeitung durch den Anwender in deine JTable zu schaufeln und die JTable mit einem entsprechenden Listener auszustatten? Der Listener sorgt für die Datensatzsperrung. Dann hast du alle Möglichkeiten (aber siehe auch unten).

Was sagt außerdem die Borland API?

BTW: Eine MS-SQL-Server-Datenbank im Ein-Benutzermodus und zusammen mit Aktionen, wie einzelne Datensätze (-zeilen) sperren, klingt schon arg kompliziert. Aber gut, dazu muss man wohl mehr wissen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Wie kann ich eine Jtable mit Inhalt einer SQL Abfrage füllen Datenbankprogrammierung 14
I SaaS Applikation: pro Kunde eine Datenbank / Schema oder eine DB für alle Kunden? Datenbankprogrammierung 76
Zrebna PostgreSQL-Query in eine MicrosoftSQL-Query konvertieren - chatGPT hilft nur bedingt. Datenbankprogrammierung 3
T Spring MongoDB: Prüfen ob bereits eine Email existiert Datenbankprogrammierung 15
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
Zrebna Probleme bei Überführung von SQL-Code in eine HQL-Abfrage Datenbankprogrammierung 3
Zrebna Wie mittels PL/SQL eine Datenbankverbindung blockieren? Datenbankprogrammierung 6
berserkerdq2 Was genau muss ich bei date eingeben, wenn ich in Java eine Spalte definiere, die date ist? Datenbankprogrammierung 1
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
Kirby.exe Eine Tabelle updaten Datenbankprogrammierung 16
B Wie kopieren ich eine Spalte von einer Tabelle in eine andere Tabelle SQLite durch java code? Datenbankprogrammierung 26
Z Aus zwei bestehenden Table eine zusätzliche Gemeinsame machen (JavaFX) Datenbankprogrammierung 21
Avalon Attribute werden mit Unterstrich in eine MySQL Datenbank eingetragen Datenbankprogrammierung 10
pkm PostgreSQL Auf eine Spalte kann aus einem Teil der SQL-Aussage nicht zugegriffen werden Datenbankprogrammierung 3
F Mapping einer SQL Abfrage in eine Klasse Datenbankprogrammierung 4
H suche eine Login system Bibliothek für Java Datenbankprogrammierung 5
C Datenbank anlegen und über eine Website mit Daten füllen? Datenbankprogrammierung 25
G Eine Spalte in xampp als Typ array erstellen - ein array mit "insert" hinzufügen. Datenbankprogrammierung 3
F Create Table - Habe ich eine schwache Entität erzeugt ? Datenbankprogrammierung 4
Dimax MySQL Trigger für eine Spalte Datenbankprogrammierung 5
Dimax MySQL Maximale Datenlänge für eine Spalte einer Datenbank in java ermitteln Datenbankprogrammierung 15
D MySQL Eibinden des "mysql-connector" in eine fertige Jar Datenbankprogrammierung 3
P JSP - Daten aus 2 Tabellen in eine neue Tabelle einfügen Datenbankprogrammierung 1
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
S MySQL JTable zeigt nach Datenbankabfrage eine Spalte zu viel an Datenbankprogrammierung 0
Thallius MySQL Tabelle splitten aber wie eine abfragen? Datenbankprogrammierung 10
B MySQL Eine Art Sverweis Datenbankprogrammierung 27
O HSQLDB Eine Entität, mehrere Tabellen Datenbankprogrammierung 8
B SQL-Statement Prüfen ob eine Spalte einen Wert enthält Datenbankprogrammierung 2
X SQLite Erhalte bei Query INSERT INTO eine NullPointerException Datenbankprogrammierung 10
L0MiN Wie kann ich eine bestimmte Seite aus verschiedenen Excel-Tabellen in eine neue Exceldatei kopieren? Datenbankprogrammierung 1
N Wie in Java Zugriffe und Updates auf eine Datenbank regeln ? Datenbankprogrammierung 1
E Wie kann ich aus diesem XML eine XMLTABLE-Funktion bauen? Datenbankprogrammierung 3
E Wie kann man mit einer ID-Spalte über eine Parameterübergabe auf eine Seite verweisen? Datenbankprogrammierung 17
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
M Warum ist es suboptimal viele Indexe auf eine Datenbanktabelle zu setzen? Datenbankprogrammierung 4
L Datenmodell erstellen für eine Nutzertanalyse Datenbankprogrammierung 1
serjoscha MySQL Eine Instanz von eigenem DBWrapper -> Fehler durch mehrfachbenutzung möglich? Datenbankprogrammierung 2
S HSQLDB Verbieten eines update auf eine bestimmte reihe Datenbankprogrammierung 4
V HSQLDB Insert in eine Tabelle mit Autoincrement Datenbankprogrammierung 2
H Grosse Menge an Daten in eine Datenbank Datenbankprogrammierung 32
P MySQL eine richtige Datenbank für einen routenplaner erstellen Datenbankprogrammierung 2
D SQL Update auf eine Query möglich? Datenbankprogrammierung 4
S SqlObject - eine objektorientierte Art SQL-Statements zu schreiben. Datenbankprogrammierung 4
C Mit jsp über Java eine DB Abfrage durchführen --> java.lang.ClassNotFoundException Datenbankprogrammierung 4
K SQLite CSV-Datei einlesen in eine Datenbank Datenbankprogrammierung 7
E Datenbank Abfragen in eine GUI schreiben Datenbankprogrammierung 8
A Problem mit Eintragen von Daten in eine Datenbank mittels DAO Datenbankprogrammierung 4
L MySQL MySql in eine Application einbinden? Datenbankprogrammierung 18
R MySQL Voraussetzungen für eine erfolgreiche Datenbankanbindung mittels JDBC Datenbankprogrammierung 2
H Derby/JavaDB Eine verschlüsselte Derby-Datenbank wieder entschlüsseln Datenbankprogrammierung 4
D Was passiert bei absolut zeitgleichem Zugriff auf eine Tablerow Datenbankprogrammierung 7
I Belastet es das System zu sehr einen Timer jede 0.2 Sekunden eine DB Abfrage machen zu lassen? Datenbankprogrammierung 9
I Zugriff auf eine Datenbank auf dem Webserver Datenbankprogrammierung 2
F H2:Wie kann man insert eine Reihe "int" wert als blob in table? Datenbankprogrammierung 12
J mal wieder eine Frage zu parallelen Transaktionen.. Datenbankprogrammierung 2
Screen Ich suche eine SQLDatenbank ohne JDBC-Treiber Datenbankprogrammierung 12
H Derby/JavaDB SQLException wenn die Datenbank in eine Jar gepackt wurde. Datenbankprogrammierung 6
turmaline [Hibernate] @OneToMany - Eine referenzierte Tabelle abfragen Datenbankprogrammierung 11
S Werte aus Datenbank auslesen und in eine bestimmte Excelzelle eintragen Datenbankprogrammierung 2
T Wer kann mir eine Datenbank empfehlen Datenbankprogrammierung 13
DStrohma MS SQL Server 2005 + Java: Immer nur eine aktive Verbindung erlaubt? Datenbankprogrammierung 5
D MySQL Wie schreibe ich in eine Datenbank? Datenbankprogrammierung 8
J String[] in eine SQL-Anweisung implementieren Datenbankprogrammierung 13
Q Access Datenbank in eine Internetseite einbinden Datenbankprogrammierung 2
J Über einen Button eine SQL-DB aussuchen Datenbankprogrammierung 3
O eine Tabelle hat mehrere PrimKey mit dem selben Wert Datenbankprogrammierung 9
R Connection Problem für eine externe DB mit Java (JDBC) Datenbankprogrammierung 9
M Zugriff auf eine Access-Datenbank innerhalb eines jar-Files Datenbankprogrammierung 7
N Wie kann ich Zugriff auf eine MS Access DB (mit JDBC) über Netzwerk erreichen? Datenbankprogrammierung 7
G Wie sieht eine Datenbankverbindung mit jndi aus? Datenbankprogrammierung 3
T eine Datenbank updaten Datenbankprogrammierung 6
C Prüfen, ob eine MySQL-Tabelle bereits existiert Datenbankprogrammierung 7
E Wie auf eine MySql Datenbank zugreifen Datenbankprogrammierung 25
D Werte mit java programm in eine Datenbank einlesen Datenbankprogrammierung 7
T JPQL Query für eine Tabellenansicht Datenbankprogrammierung 2
B Wie persistiert man eine Tree-ähnliche Datenbankstruktur? Datenbankprogrammierung 2
M Aus einem Applet eine Datenbankverbindung starten? Datenbankprogrammierung 26
R Datenbankstruktur für eine renn simulation Datenbankprogrammierung 3
H Wie kann ich eine Datenbank Connection aus XML-Datei lesen! Datenbankprogrammierung 2
G Wie baut man eine Anwendung mit DB Zugriff Datenbankprogrammierung 3
S Als Rückgebewert eine Liste von Werten? Datenbankprogrammierung 3
A Auslesen von Werten aus der DB in eine csv-Datei Datenbankprogrammierung 4
O Oracle 11g wirft bei 90 % der installation eine Exception ? Datenbankprogrammierung 5
T Recordsets in eine JTable einlesen mit Netbeans 6.0 Datenbankprogrammierung 2
R Warum kommt eine Exception bei instanceof ? Datenbankprogrammierung 4
M Tabelle von einer Datenbank in eine Andere Datenbankprogrammierung 4
G Inhalt eine Clob Feldes zw. zwei DB's kopieren Datenbankprogrammierung 2
A Einlesen einer csv-Datei in eine H2-Datenbank Datenbankprogrammierung 3
A Kriterium für eine JList neu definieren Datenbankprogrammierung 3
A Probleme beim Schreiben in eine CSV-Datei aus einer H2-DB Datenbankprogrammierung 2
G Import einer csv-Datei in eine H2-Database Datenbankprogrammierung 12
J Warum ist es aufwendig eine Datenbankverbindung herzustellen Datenbankprogrammierung 3
M Mit Java .txt-Datei in eine Datenbank einlesen lassen Datenbankprogrammierung 33
S Zugriff auf eine große Datenmenge von MS Access per JDBC Datenbankprogrammierung 11
S von einer DB auf eine andere Zugreifen. Datenbankprogrammierung 2
W Wann ist eine Telefonnummer atomar ? Datenbankprogrammierung 3
D Dateien in eine OODB abspeichern Datenbankprogrammierung 3
E 2 Tabellen anhand eine Spalte zusammenführen? Datenbankprogrammierung 5
M GUI für eine Datenbank Datenbankprogrammierung 2

Ähnliche Java Themen


Oben