Autor Beitrag
flyhigh83
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67

Win 7
C# (VS2010)
BeitragVerfasst: Mi 16.03.11 11:22 
Dank im Vorraus.

Nachtrag:

ich habe etwas gefunden. ...

in meiner Datei "dbDataSet.Designer.cs" habe ich folgende Funktion gefunden.

private void InitConnection() {
this._connection = new global::MySql.Data.MySqlClient.MySqlConnection();
this._connection.ConnectionString = global::Test.Properties.Settings.Default.dbConnectionString;
}[cs]

wie komme ich an diese Variable herran damit ich meinen zweiten ConnectionString verwenden kann. Ich habe es jetzt mal versucht mit einem User der nur lesen darf auf die Datenbank. Ich hoffe das ich keinen Konnflikt mit dem Programm bekomme.
flyhigh83 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67

Win 7
C# (VS2010)
BeitragVerfasst: Mi 16.03.11 16:52 
Ups Sorry hatte meine Frage gelöscht. Daher nochmal

Ich will dem User beim Starten meines Programmes abfragen, ob er nur Daten "lesen" will oder auch "ändern".
Wie kann ich das am Besten umsetzten. Ich habe jetzt schon eine möglichkeit gefunde, welche aber bei meinem Bisher etwas zusammengestückeltem Code schwer wird umzusetzen. Da ich noch nicht alle Funktionen sauber zu einer zusammengeführt habe sondern wegen minimalen Änderungen jeweils nochmals geschrieben habe und dies in dem Event wo es ausgelöst wird.

Hier meine Lösung bisher.

ausblenden C#-Quelltext
1:
2:
3:
4:
    public FormMain()
    {
      InitializeComponent();
      this.tableAdapterManager.TestTableAdapter.Connection.ConnectionString = Test.Properties.Settings.Default.readdbConntectionString;


Ich habe also den zweiten Connectionstring verwende. Dieser beinhaltet einen anderen User der nur "lese" Rechte auf die DB besitzt. Jetzt muss ich aber jedesmal beim meiner Updatefunktion und auch welche die durch den Designer erzeugt wurden abfragen, ob ich den auch schreiben darf oder nicht weil der User am Anfang des Programmes gesagt hat er will nichts ändern.

Gibt es bessere möglichkeiten?

z.B eine Globale Variable in meinem Form mit der ich dann alle Update Inserts oder Deleteanweisungen stoppe?
flyhigh83 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67

Win 7
C# (VS2010)
BeitragVerfasst: Di 22.03.11 17:20 
Hallo,

bisher habe ich nichts besseres gefunden, alls alle Meine Obejekte, auf die der User zugreifen darf normal zu lassen. Und den Rest in einer schleife auf ReadOnly zu setzen.
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Di 22.03.11 17:35 
user profile iconflyhigh83 hat folgendes geschrieben Zum zitierten Posting springen:
bisher habe ich nichts besseres gefunden, alls alle Meine Obejekte, auf die der User zugreifen darf normal zu lassen. Und den Rest in einer schleife auf ReadOnly zu setzen.
Wenn z. B. ein DBEdit auf einem Panel liegt, welches nicht enabled ist, kann nichts hinein geschrieben werden. Außerdem ist das Feld bzw. die Schrift nicht ausgegraut und somit besser lesbar. Zum Schreibzugriff einfach das Panel auf enabled setzen.