Laden...

Forenbeiträge von Quest Ingesamt 108 Beiträge

01.12.2005 - 08:56 Uhr

@sheitman:
es sollen zeitgebundene daten in der DB abgelegt werden, ich klicke also z.b. in der anwendung auf einen bestimmten button und möchte im kalender alle daten für den gewählten zeitraum anzeigen (es kann also passieren dass mal schnell viele daten "reingeholt" werden müssen) - theoretisch könnte ich das auch mit acces machen, aber aber aber....
die DB soll auch auf ein netzlaufwerk (ohne aufwand!) platziert werden können und für multiuser reicht mir das optimistic locking völlig...
da entstehen keine problem, aber ich halte von der access-lösung nunmal gar nix und deswegen gucke ich mich nach was anderem um - server ist zuviel denn die DB wird mit der application installiert und ein DB server ist einfach nicht nötig für den zweck...

lange rede kurzer sinn, firebird ist eigentlich genau richtig wenn ichs hinbringe den auf ein netzlaufwerk zu legen, ich werds heute mal testen...

@fzelle: s.o. g

30.11.2005 - 15:40 Uhr

bin derzeit schwer am überlegen doch vista zu nehmen, denn fehler sind ja garantiert überall drin - hab auch schon nen workaround fürs abschmieren...
aber der erste eindruck hinterlässt doch immer spuren, denn ein schwerwiegender fehler der gleich dem starten des data builder auftritt hat schon was für sich - na ja des thema kann man anscheinend ja bis ins unendlich ausweiten wie der blog schön zeigt..

das einfachste wäre wenn microsoft endlich ihrem .NET eine embedded midsize DB spendieren würde, muss ja gar nicht soooo viel können, aber zumindest ein paar grundsätzliche funktionen beinhalten und sich mit ner kleinen dll zufrieden geben...
v.a. die verweise auf XML nerven mich, für config-files und minidatenbanken schön und gut.... 🤔
na ja und access als lösung zu nehmen widerstrebt mir ungemein (auch wenns wohl gerade so reichen würde von der performance her), aber wenn ich schon sehe dass sich die größe einer access-DB um mehr als die hälfte verringert nach einen "compact and repair"... 🙁

nachtrag: der support von vista ist auch nicht das gelbe vom ei, ein blick ins forum genügt - da kriegt man nur hilfe wenn man das teil schon gekauft hat...

30.11.2005 - 14:17 Uhr

@fzelle: Entschuldige die 3 Seiten... 😁
das mit ACID ist schon interessant, den vorteil von firebird sehe ich auch ein, jedoch habe ich gelesen dass man die DB nicht auf ein netzlaufwerk legen kann (mehr dazu unten im link)

@sheitman: verstehe, das prinzip ist eigenlicht relativ einfach wenn man weiss was sich hinter welchem begriff versteckt...
der ganze embeddedDB-kram ist ja im prinzip die vereinfachung von servern auf datei-formate und der rest bleibt sich gleich..

ich habe folgenden blog entdeckt und ich mache teilweise den gleiche mist durch wie der kerl..
vistaDB hab ich auch schon getestet (sofort abgeschmiert, danach nicht mehr angerührt), mircosoft-lösung wegen der größe verworfen, etc etc...

lest euch mal den blog durch, sehr informativ 😁

29.11.2005 - 12:50 Uhr

firebird embedded kommt mit einem eigenen ADO.NET provider...
was sind dadurch die vorteile?

ganz interessant dazu auch die folgende aussage:

Is the embedded Firebird a managed .NET assembly?
No. Fbembed.dll is a regular DLL library. Only the Firebird ADO.NET Provider (FirebirdSql.Data.Firebird.dll) is a fully managed code.

29.11.2005 - 12:21 Uhr

ja vielen dank,
jetzt verstehe ich auch endlich das interview, das in der roadmap referenziert wird...
ich muss also den oledb-treiber von foxpro mehr als möglichkeit sehen mein foxpro-zeugs mit .NET nutzen zu können...
wenn ich gleich aus .NET agiere dann doch bitte gleich eine embedded DB die extra dafür gemacht ist!
richtig so?

29.11.2005 - 12:13 Uhr

ok, ich fange langsam an zu verstehen...

jedoch macht mich die folgende formulierung stutzig:

Ansonsten sehe ich den Sinn nicht so ganz, aus VFP über Sedna über COM auf .NET zuzugreifen, wenn ich gleich .NET nehmen kann.

ich dachte der zugriff über oledb einerseits auf foxpro oder andererseits z.B. auf firebird embedded ist genau dasselbe? warum ist das eine "mehr .NET" als das andere?

29.11.2005 - 11:56 Uhr

Hmmm, aber wenn ich jetzt hier diese Roadmap lese dann klingt das doch eigentlich nicht sooo schlecht, jetzt Foxpro verwenden und dann '07 Sedna?

Wobei mich dann wieder solche Aussagen stutzig machen:

Visual FoxPro will remain stand-alone Win32 based, and will run on 64-bit Windows in 32-bit compatibility mode.

Daran siehts man wohl die stehengebliebene Entwicklung...

29.11.2005 - 11:01 Uhr

ist zu langsam, n' paar tausend datensätze mal eben so zu durchsuchen dürfte sich damit nicht als allzu einfach rausstellen...
hmm als beste alternative sehe ich dann wohl firebird embedded? wobei ich noch nicht den wirklich vorteil sehe - zeitgemäßer soll es sein? aber warum denn jetzt eigentlich?

29.11.2005 - 10:12 Uhr

hmm, danke erstmal für eure antworten...

Falls das Argument ist, dass Du keinen Dienst laufen haben willst, okay, das wäre für mich das einzige Argument, das für FoxPro spräche, allerdings gibt es dann auch modernere Lösungen ...

genau das ist der punkt, deswegen bin ich ja überhaupt auf foxpro gekommen als alternative zu ms access weil zuverlässigkeit und speed höher sind...
die DB muss voll eingebettet sein und nix extra installieren oder einen dienst starten(!!), soll aber u.U. auch auf ein netzlaufwerk gelegt werden können, um von mehreren rechnern drauf zuzgreifen....

wie siehts bei foxpro eigentlich mit der lizenzierung aus? muss man, wenn man datenbanken mit seiner anwendung vertreibt, was berappen?

und wie ist die lizenzierung bei SQLite und firebird embedded?

und warum kann ich eine foxpro-DB "zerschiessen" aber eine firebird embedded-DB nicht? oder hab ich da was falsch verstanden?

29.11.2005 - 08:41 Uhr

ja bin ich, wieso? hängs jetzt nicht am multi-user zugriff oder den anderen sachen auf - die DB soll klein und schnell sein und mit einer anwendung installiert werden können...
der rest ist erstmal unwichtig, interessiert mich aber...

29.11.2005 - 08:33 Uhr

Ich würde gerne FoxPro statt Access als DB nutzen, welches ich mit meiner Anwendung gleich mitinstalliere...
Hat zur Nutzung von FoxPro mit C# evtl. jemand eine gute Seite die auf ein paar Sachen tiefer eingeht? Interessieren würde mich v.a. Multiuser-Zugriff, Triggers, Views, Stored Proecdures, etc...
Danke schonmal! 👍

Ach ja und was ich noch fragen wollte: Der Kern des Ganzen ist kostenlos und für Visual FoxPro muss ich pro Lizenz zahlen? Hab ich das richtig verstanden? Naja aber durchs MSDN-Abo hab ich schonmal eine Lizenz hier... 😁

25.08.2005 - 09:16 Uhr

@herbivore: jep problem ist es keins, aber es "gefällt" mit einfach nicht
@hurricane: danke werde ich mir mal näher angucken obs mit wenig aufwand geht...

auf alle fälle danke an euch alle für die unterstützung...

24.08.2005 - 16:37 Uhr

Also zunächst mal Danke für eure Antworten...
Ist richtig, meine Anwendung soll nur englisch sein - andere Sprachen wurden wegen dem Mehraufwand der Pflege (und dem zu geringen Nutzen da eh alle Englisch können) grundsätzlich ausgeschlossen...
Nun zum Thema, mit
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
habe ich es schon versucht, da bin ich nach ein paar Minuten Suche mit Google drauf gestossen, funktioniert allerdings nicht...

Bedeutet das dann dass die Sprache wohl auf dem PC nicht "installiert" ist und ich gar keine Chance habe da er sich dann immer den Default (deutsch) krallt?

24.08.2005 - 14:57 Uhr

Nun kommt mir noch eine Idee, liegt es vielleicht nicht an dem deutschen PC sondern daran dass ich die Anwendung hier auf meinem Rechner mit deutschem Framework programmiere und so immer deutsches Ja/Nein erzeugt werden?

24.08.2005 - 14:21 Uhr

Hallo zusammen,

ich schreibe meine Anwendung derzeit ausschließlich auf Englisch, verwendet wird sie jedoch u.a. auch auf deutschen und anderssprachigen Systemen...
Dabei treten immer die Probleme auf dass meine MessagBoxes sich mit den Texten an die jeweilige Sprache anpassen, was dann den folgenden Effekt erzeugt:

In der Box steht: If you want to choose blabla please press "Yes" und die Textbox bringt "Ja" und "Nein" zur Auswahl...

Nun zu meiner Frage: Kann ich diese Language Settings der Windows-Systeme irgendwie übergehen oder muss ich mir dazu gleich selber Messagboxen basteln?

Danke schonmal!!!!!!

12.07.2005 - 08:02 Uhr

Um nochmal drauf zurück zu kommen, hab ne handvoll Tools gefunden die Freeware sind mit denen man problemlos verschiedene Bilder zu Icons zusammenfügen kann, das ist wohl der einfachste Weg wenn man nicht gerade auf Photoshop zurückgreifen kann...

08.07.2005 - 10:23 Uhr

Hallo zusammen,

ich möchte meiner Anwendungs ein paar schicke Icons verpassen - habe ich auch bereits gemacht, eins mit der Größe 32x32 meinem Projekt hinzugefügt (die .exe-Datei hat auch nach dem Erstellen das gewünschte Symbol...)

Wechselt der Anwender jedoch beispielsweise von der "Symbole" Ansicht im Windows Explorer in die "Kacheln" Ansicht wird das Icon pixelig...
Verwende ich ein 48x48 icon und der User wechselt von Kacheln zu Symbol so sieht dieses wieder nicht gut aus - Gibts ne Möglichkeit alle verschiedenen Größen einzubinden? Ich habe mein Icon bereits in 16, 24, 32 und 48 erstellt..

Danke schonmal....

24.06.2005 - 10:35 Uhr

Berkeley Unix notation for an Internet address, consisting of one to four numbers (a "dotted quad") in hexadecimal (leading 0x), octal (leading 0), or (usually) decimal. It represents a 32-bit address. Each leading number represents eight bits of the address (high byte first) and the last number represents the rest. E.g. address 0x25.32.0xab represents 0x252000ab. By far the most common form is four decimal numbers, e.g. 146.169.22.42.

ich denke genau so agiert das framework hier bei mir und schmeisst bei allem mit 8 und 9 mit invalid IP um sich, nur warum er bei euch allen dann die 018 und 019 nimmt bleibt mir ein rätsel...

24.06.2005 - 08:22 Uhr

Hmm, das ganze geht noch weiter, wenn ich "192.169.020.010" Parse krieg ich "192.169.16.8" raus - irgendwie verstümmelt der jedes mal bei führenden Nullen...
In dem Link von bitsream gehts ja um genau dasselbe...

Zusammenfassend macht er nur Mist mit den führenden Nullen und bei mir am PC (nur bei mir, bei nem weiteren Kollegen funktionierts auch) wirft er mit einigen Werten die führende Nullen beinhalten - 018, 019 - mit Exceptions um sich - sehr strange, aber ich bin noch keinen Milimeter weitergekommen, im Netz findet man dazu ja so gut wie nix...

23.06.2005 - 16:41 Uhr

Sehr dubios, was soll ich denn jetzt machen? das ist ja mal seltsam...

Habs jetzt auf 3 PCs getestet und 2x die Fehler bekommen und 1x funktionierts, hab aber noch keine Gemeinsamkeiten bzw Unterschiede finden können - überall Framework 1.1 mit letzten Bugfix drauf...

21.06.2005 - 16:19 Uhr

Hallo zusammen,

habe das folgende Problem:

System.Net.IPAddress.Parse("192.169.20.018");

erklärt mir die IP für ungültig...

System.Net.IPAddress.Parse("192.169.20.18");

funktioniert...

wohingegen

System.Net.IPAddress.Parse("192.169.20.017");

und

System.Net.IPAddress.Parse("192.169.20.17");

beide funktionieren...

Das seltsame Verhalten hab ich noch bei einigen mehr festgestellt, die führenden Nullen mag er manchmal nicht...

Meinungen, Ideen, Anregungen? Mit google bin ich nicht fündig geworden, wo könnte ich noch gucken?

16.06.2005 - 09:11 Uhr

8o hab mich jetzt gleich mal auf die suche gemacht und herausgefunden, dass es an dem "@" lag, das ich verwendet habe, wie kann das jetzt wieder sein? 🤔
ich hab das @ schließlich überall verwendet - könnte natürlich jetzt sein, dass das Replace \n als escape sequenz liest, wohingegen ich mit dem @ nach einer zeichenfolge \n suchen lasse, auf alle fälle interessanter sachverhalt - jetzt funktionierts immerhin... 😁

16.06.2005 - 08:51 Uhr

Thread kann geschlossen werden, mir kam gerade die folgende Idee, die auch super funktioniert:

ErrorString = ErrorString.Replace("\\n", Environment.NewLine);

👍 👍

16.06.2005 - 08:31 Uhr

Hallo zusammen,

mein Problem hört sich relativ einfach an, hat sich jedoch als nicht so einfach machbar herausgestellt...

Ich habe einen String, der mehrere Zeilenumbrüche mit \n enthält. Diesen möchte ich mit \r\n ersetzen, um die Anzeige in einer Textbox sauber darstellen zu können - dies funktioniert jedoch mit Replace bei der Escape-Sequenz nicht - welchen Grund hat das genau, bzw. wie komme ich da ran? Den String "per Hand" aufdröseln und jedes Zeichen in einer Schleife abfragen? Oder gibts ne einfachere Möglichkeit?

13.06.2005 - 11:34 Uhr

Entschuldigt meine verspätete Antwort, war ein paar Tage weg...
Mittlerweile benutze ich die App.config - ist am einfachsten...

24.05.2005 - 11:31 Uhr

Ich habe hier eine Access Datenbak auf die ich über OleDb zugreife, nun möchte ich aber, ähnlich der ODBC Datenquelle in Systemsteuerung->Verwaltung, sowas auch für meine OleDb-Verbindung realisieren...

Bei ODBC läuft der Zugriff ja irgendwie so in der Art ab:
"ODBC;DSN=Databasename"

Wie kann ich sowas mit meiner OleDb-Verbindung machen, oder kann ich irgendwie eine ODBC-Datenquelle benutzen und den gespeicherten LocationString der ODBC Datenquelle auslesen?

Danke schonmal, hoffe das war jetzt nicht zu verwirrend, ach ja derzeit habe ich den Pfad hart codiert:

string mConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data source= c:\Projects\MXX\Database\MatriXXProdSwDb.mdb";

Ziel ist also letztendlich dass ich den Pfad nicht hart codieren will sondern nur den Namen einer Datenquelle angeben will (wo dann der Rest steht und in die Anwendung importiert werden kann)...

19.05.2005 - 11:05 Uhr

🤔 Hmm, die Initialisierung meiner MainForm ein bißchen geschickter gestalten und schon funktionierts, stimmt - dann brauchen mich Dataset und Co ja gar nicht kümmern, argh mal wieder den Wald vor lauter Bäumen nicht gesehen - eigentlich doch recht wenig Aufwand, das hab ich in 2-3 Minuten gemacht...
Und wieder ne ganze Ecke schlauer!

DANKE! 👍

19.05.2005 - 10:49 Uhr

Hmm ok, macht wohl durchaus Sinn das zusammenzufassen - ist "schöner".
Aus Zeitgründen lass ich diese Lösung erstmal drin und kümmere mich bei Gelegenheit drum...
Globale Variablen benutze ich keine, wie kommst du drauf?

19.05.2005 - 10:40 Uhr

Was sind denn due Nachteile an dieser Lösung? 🤔
Na ja neben dem Objekte killen müsste ich eben alle Usercontrols neu erstellen und und und - dachte halt es gibt nen einfacheren Weg über nen Reset oder sowas ähnliches...

19.05.2005 - 09:33 Uhr

Ja, ich brauche den kompletten Restart - nur ein Fenster leeren ist es nicht.
Ich muss in den Anfangszustand zurück, der direkt nach dem Aufruf besteht - also von daher wohl ok, funktioniert tuts auch.
War mir eben nur nicht sicher ob das so in Ordnung ist, nicht dass da irgendwelche Nebeneffekt auftreten wenn ich da so handhabe.

19.05.2005 - 08:57 Uhr

Hallo zusammen,

ich benutze derzeit den folgenden Code zum Restart meiner Anwendung:

Application.Exit();
System.Diagnostics.Process.Start("MainApp.exe");

Jetzt stellt sich mir die Frage ob das sinnvoll ist, das derart handzuhaben oder ob ich evtl. doch lieber eine Methode schreiben sollte die alles zurücksetzt (Inhalt meines Datasets, Buttons, etc...)

Bitte um Meinungen und Anregungen ob meine Lösung katastophal ist oder ob ich irgendwas übersehen habe - danke schonmal...

19.05.2005 - 08:29 Uhr

Klasse, danke - funtioniert einwandfrei...

19.05.2005 - 08:05 Uhr

Ich hab hier eine .txt-Datei, die ich von meiner Windows Anwendung aus mit dem Windows Editor aufmachen möchte, ich weiss allerdings nicht so genau wie ich das anstellen soll...
Hat jemand nen Tipp für mich?

Danke schonmal für eure Hilfe!

11.05.2005 - 11:11 Uhr

Arghhhh, den Wald vor lauter Bäumen nicht gesehen - danke dir vielmals...
Eigentlich so einfach, aber ich hab irgendwie gedacht ich muss es anders hinkriegen....

Habs jetzt so gemacht - funktioniert alles einwandfrei:

Variable:

DateTime mDate = System.DateTime.Today;

In Dataset speichern:

mDatabase.mDataSet.Tables["BasicTestInfo"].Rows[0]["TestDate"] = mDate;

Aus Dataset laden:

mDate = Convert.ToDateTime(mDatabase.mDataSet.Tables["BasicTestInfo"].Rows[0]["TestDate"]);

Label setzen:

mLabelDate.Text = mDate.ToShortDateString();
11.05.2005 - 10:31 Uhr

Falls du jetzt die Spalte des Datasets meinst (denn das Ein- und Auslesen aus dem Dataset brauch ich unbedingt): Wie mache ich das?

Denn so funktioniert jedenfalls nicht:

mDatabase.mDataSet.Tables["BasicTestInfo"].Columns["TestDate"].DataType = System.Type.GetType("System.DateTime");

Hab so das Gefühl ich stell mich mal wieder saublöd an! 🤔

11.05.2005 - 10:14 Uhr

Ich habe das folgende Problem:

Jedesmal wird in dem Label, das ich hier habe, das Datum mit der Uhrzeit gesetzt - es steht dann also drin "11.05.2005 00:00:00" - ich brauche jedoch nur das Datum - gespeichert wird in einem DataSet - denke der folgende Code ist selbsterklärend...
WIe man sieht hab ich sogar schon über nen String rausgeschrieben und dann eingelesen und trotzdem wird die Uhrzeit mit drangehängt - aber warum?

string today = System.DateTime.Today.ToShortDateString();
mDatabase.mDataSet.Tables["BasicTestInfo"].Rows[0]["TestDate"] = today;
mLabelDate.Text = mDatabase.mDataSet.Tables["BasicTestInfo"].Rows[0]["TestDate"].ToString();
10.05.2005 - 13:02 Uhr

Mein InsertCommand funktioniert einwandfrei und natürlich hab ich auch die Parameter gesetzt, die Daten werden genauso in die Datenbank geschrieben wie ich mir das vorstelle...

Wenn ich dann allerdings das DataSet bearbeitete und ein Update() über den DataAdapter durchführte, bekam ich die Parallelitätsverletzungen und genau deswegen habe ich auch das Update gepostet - nach Studium von MSDN-Artikeln habe ich ne kleine Änderung vorgenommen und siehe da, es geht jetzt - das Update Statement sieht jetzt folgendermaßen aus:

"UPDATE BasicTestInfo SET TestPassed = @TestPassed, TestComment = @TestComment, TestDate = @TestDate  WHERE ID = @oldID"

weiterhin habe ich den parameter oldID mit "original" als SourceVersion versehen und jetzt gehts endlich!

parm = mDataAdapter.UpdateCommand.Parameters.Add("@oldID", OleDbType.Char, 255, "ID");
parm.SourceVersion = DataRowVersion.Original;

jetzt kann ich mich dem UpdateCommand einen geänderten TestComment in die Datenbank schreiben, warum das so ist und warums zuvor nicht funktioniert hat (Parameter, usw war alles i.O.) weiss ich allerdings nicht so genau....

10.05.2005 - 07:51 Uhr

Ich wende die folgende Vorgehensweise an, um Daten in eine Access Datenbank zu schreiben:

  1. Dataset befüllen mit den neuen Datensätzen
  2. Über InsertCommand des OleDbAdapters Datensätze zur Datenbank hinzufügen

Soweit so gut, wenn ich jetzt allerdings am Dataset was ändere und dann ein UpdateCommand ausführen möchte, dann erhalte ich immer die Parallelitätsverletzung mit dem Text "UpdateCommand wurde auf 0 Datensätze angewendet" genau bei den geänderten Datensätzen...

Irgendwie war ich immer der Meinung dass die Parallelitätsverletzung dann kommt, wenn in der Zwischenzeit was an den Daten verändert wurde, wenn ich beispielsweise mit einem Select auslese, verändere und dann wieder zurückschreiben will in die Datenbank....
Aber bei einem Insert sinds doch eh komplett neue Datensätze...

Bin ratlos, hoffe jemand kann mir den entscheidenden Tipp geben...

Nachtrag:

Ich habe auch schon das folgende versucht als Folgeschritte:
3) DataSet neu laden aus der Datenbank
4) Daten im DataSet ändern
5) Update durchführen

und derselbe Fehler taucht wieder auf (wieder genau beim geänderten Datensatz) - entweder ich versteh irgendwas total falsch bei der Datenparallelität oder der Fehler hat ne andere Ursache...

Mein Update-String sieht folgendermaßen aus:

"UPDATE BasicTestInfo SET TestPassed = @TestPassed, TestComment = @TestComment, TestDate = @TestDate  WHERE ID = @ID"

Nachtrag 2:

Bin mir nicht sicher inwiefern das relevant ist, aber mein DataSet wird über mehrere Fills gefüllt, da es sich um Daten aus 4 Tabellen handelt, hat das Auswirkungen auf den Status den sich das DataSet "merkt"?

19.04.2005 - 16:17 Uhr

hört sich wirklich gut an, zumal ich hier nicht gerade mit ner beta arbeiten sollte, geschweige denn mit dem noch nicht fertigen .NET Framework 2.0...

also eins ist klar: in der DB-welt bin ich jetzt um einiges schlauer! 😁

19.04.2005 - 14:50 Uhr

LICENSING: SQLite.NET is licensed as GPL. This means if you use it in your application, your app must also be GPL.

Womit SQLite schonmal wegfällt, ist n' Softwareprojekt hier bei mir in der Arbeit, also nix mit GPL...

SQL Server Express 2005 sieht aus als wärs kostenlos auch für commercial use...
hab jedenfalls nix anderweitiges gefunden...

wie siehts da mit den einschränkungen aus (user gleichzeitig, etc...)?

aber ist wohl die vernünftigste alternative...

19.04.2005 - 12:28 Uhr

Hmm irgendwie bin ich jetzt nicht allzuviel schlauer als zuvor...

ich brauche also nen multiuserzugriff und muss das irgendwie steuern können, das ganze läuft dann natürlich übers netzwerk, aber dann gleich nen sql-server einzurichten und zu administrieren ist dann doch zu groß...

meine anfangsvorstellung war halt einfach den zugriff auf ne access-datei zu steuern, weil die dimension ist letztendlich dass höchstens mal 2-3 user gleichzeitigen lese(!)zugriff haben und das schreiben immer nur n paar sekunden dauert (ist die datei gerade gesperrt, dann muss derjenige user halt einfach n paar sekunden warten, also von daher eigentlich kein problem)..
in bezug auf die anzahl der datensätze bewege ich mich wohl im dreistelligen bereich..

naja ich werd wohl jetzt doch access verwenden und sqlite mal im hinterkopf behalten, bzw. den datenzugriff kapseln, um offen zu sein für einen evtl. wechsel der DB...

@Noodles: Danke für den Hinweis mit der System.Guid! Werde ich mir mal näher angucken...

18.04.2005 - 13:44 Uhr

Ich danke euch erstmal allen für eure Anregungen...
Firebird geht zu weit, SQLite hört sich zwar gut an, der Aufwand wird aber wohl höher für mich werden, da ich noch nicht viel damit gemacht habe..

Ergo bleibt das direkt Speichern von DataSets in XML-Files über oder die Verwendung einer Access-DB...

Wo ist die Geschwindigkeit besser?

Nach einigem Überlegen ist mir ein weiterer wichtiger Punkt eingefallen: Es kann u.U. vorkommen, dass mehrere User gleichzeitig auf der Datenbank arbeiten, ein typischer Ablauf also so aussieht:

  1. Gucken ob Datensatz mit ID vorhanden

*writeaccess on*
2) Wenn nicht, Datensatz mit ID anlegen
*writeaccess off"

  1. weitermachen...

*writeaccess on"
4) Datensatz speichern
"writeaccess off"

Dasselbe soll zwischendurch auch eine andere Person machen können...

Meinungen und Anregungen? Danke euch schonmal....

18.04.2005 - 08:00 Uhr

Hallo zusammen,

ich habe folgende Situation: ich benötige eine Datenbank, in der ich Datensätze mit jeweils ca. 25 Positionen abspeichere - diese Datensätze werden über einen Typ (es gibt drei verschiedene "Arten" Datensätze) und eine ID eindeutig identifiziert...
Das Ganze soll also ne kleine Lösung werden, für die der Aufwand in Grenzen gehalten werden soll, deshalb tendiere ich dazu, eine Access-Datei zu verwenden...
Wie ist eure Meinung dazu? Macht es Sinn oder soll ich lieber was anderes verwenden, was ist jedoch ähnlich schnell zu realisieren?

14.04.2005 - 14:24 Uhr

Hmm stimmt, da hast du auch wieder recht! V.a. mit dem Ausgliedern in eine Funktion kann ich das hübsch öfter verwenden...

Und letztendlich identifiziere ich die Panels nunmal über den Namen oder habt ihr evtl. ne bessere Idee? Irgendwelche Attribute oder sowas in der Art so dass ich nicht vom Namen abhängig bin?

14.04.2005 - 13:11 Uhr

Danke euch beiden für eure Lösungen!

Da ich noch einige Panels mehr haben werde macht es wohl durchaus Sinn eine Schleife zu verwenden, da weniger Code, geringerer Wartungsaufwand, etc...

Wenn ich nach dem Namen unterscheide ists irgendwann wohl unübersichtlich, so dass ichs evtl. mit einem Panel-Array versuche - danke für die Anregungen!

14.04.2005 - 12:15 Uhr

Oh Sorry, das hab ich vergessen dazu zu sagen - betrifft nur einen Bruchteil der Panels, eben genau die mit dem Namen mGraphicPanel...

14.04.2005 - 12:07 Uhr

Ich habe eine ganz banale Frage, kann man das folgende eigentlich auch über eine Schleife machen? Und wenn ja, wie?


mGraphicPanel1.Visible = false;
mGraphicPanel2.Visible = false;
mGraphicPanel3.Visible = false;
mGraphicPanel4.Visible = false;
mGraphicPanel5.Visible = false;
mGraphicPanel6.Visible = false;
mGraphicPanel7.Visible = false;
08.04.2005 - 09:20 Uhr

Original von herbivore
Hallo Quest,

ich habe gerade so ziemlich das gleiche gemacht, nur mit Listbox-Einträgen statt mit Buttons. Da habe ich mehrere Panels übereinandergelegt und zeige des jeweilige mir BringtToFront an. Allerdings arbeite ich auch nicht mit dem Designer sondern schreibe native C# Code - und da überlagen sich die Control dann ja trotzdem nicht 🙂

herbivore

Naja das mit überlagern und BringToFront geht schon, aber durch das Auslagern in Usercontrols gewinnt das Ganze auch gleichzeitig an Übersicht und ist besser zu pflegen, da auf der einen Seite die MainForm mit definierter Schnittstelle steht und auf der anderen Seite die Usercontrols, die nur über diese Schnittstelle mit dem MainForm kommunizieren dürfen - das passt schon ganz gut so wie ichs jetzt aufgebaut hab denke ich....

06.04.2005 - 16:33 Uhr

Die Idee die mir noch gekommen ist, wäre der MDI-Ansatz, aber einfacher und schneller gehts wohl mit den Usercontrols...

Was meint der Rest denn so?

06.04.2005 - 15:53 Uhr

Ich habe das folgende Problem: In meiner Anwendung habe ich links angedockt ein Panel mit 7 verschiedenen Buttons, die untereinander angeordnet sind. Rechts befindet ein Panel, das, je nach geklicktem Button, einen anderen Inhalt darstellen soll (mit Checkboxen und anderem Klimblim 😄).

Wie macht man das nun am geschicktesten? Weil die Panels überlagern und mit Show und Hide steuern ist ja Käse, da nicht mehr vernünftig mit der Design-Ansicht gearbeitet werden kann und auch programmiertechnisch ziemlich unsinnig. Jede der 7 Inhaltsseiten auslagern in eigene Datei als User-Control und je nach Button-Klick "laden"? Oder gibts da was besseres?

Danke schonmal!