Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Database-Explorer
maYer
myCSharp.de - Member



Dabei seit:
Beiträge: 49
Herkunft: Dortmund

beantworten | zitieren | melden

Hi Tom,
mir ist gerade aufgefallen, dass eventuell eine Zeile abgeschnitten ist.
Ich habe mal nen Screenshot angehängt.

Grüße,
David
Attachments
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

@maYer:
Die Zeile ist bewusst so klein gehalten. Das DataGridView-Control legt immer eine zusätzliche zeile an, um dort neue Datensätze eintragen zu können. Da es mir bisher nicht gelungen ist, diese zeile komplett auszublenden, habe ich Sie auf die kleinste Größe reduziert.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
Somakia
myCSharp.de - Member



Dabei seit:
Beiträge: 288
Herkunft: Hessen

beantworten | zitieren | melden

@tom-essen:
Das DataGridView-Control hat eine Property mit dem Namen AllowUserToAddRows.
Wenn ich die bei mir auf False stelle dann ist diese eine Zeile zum Hinzufügen nicht mehr da. Vllt. hilft dir das ja weiter.
private Nachricht | Beiträge des Benutzers
zerberos
myCSharp.de - Member



Dabei seit:
Beiträge: 523

beantworten | zitieren | melden

Wenn ich eine Abfrage mache und auf Undock klicke klicke bekomme ich eine Fehlermeldung
Attachments
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

@zerberos:
Kann ich zwar spontan nicht reproduzieren, aber dank der Fehlermeldung habe ich zumindest einen Ansatz. Wird geprüft...

EDIT: Fehler gefunden. Der Fehler tritt auf, wenn noch kein Ergebnis da ist. Wird behoben
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
Siedlerchr
myCSharp.de - Member



Dabei seit:
Beiträge: 180
Herkunft: NRW

beantworten | zitieren | melden

Hallo,

erstmal gefällt mir das Tool schon ganz gut, aber ich fände es gut,wenn man auch andere Extensions angeben könnte als z.B. dbf bei DBASE Dateien, da es ja durchaus vorkommt, dass die Dateinamenserweiterung anders ist.

Wäre toll, wenn du das noch einbauen könntest.
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Wollte nur mal mitteilen, dass die bisherigen Meldungen alle gesammelt werden, ich aber z.Zt. nicht dazu komme, diese zu bearbeiten. Zum einen bin ich zeitlich im Moment etwas eingeschränkt, zum anderen nutze ich die freie zeit gerade, um die Basis, also die Datenquellen-Adapter zu erweitern. Dadurch soll es dann auch möglich werden, Ergebnisse oder Abfragen direkt in andere Datenquellen zu schreiben / exportieren (z.B. mehrere CSV-Dateien schnell mal in eine SQL-DB schieben, dort mit SQL-befehlen entsprechend verknüpfen und das Ergebnis wieder in CSV exportieren).
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
pearsh
myCSharp.de - Member

Avatar #avatar-3492.png


Dabei seit:
Beiträge: 212

beantworten | zitieren | melden

Ich hab mal eine kleine Frage,
wie hinterlege ich ein Passwort bei einer ODBC Verbindung?
Da ohne das Passwort keine Verbindung aufgebaut werden kann...

lg Jo0oker
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo Jo0oker,

geht z.Zt. nicht. Ich war davon ausgegangen, dass man das Passwort immer direkt in der ODC-Verbindung angibt. Werde dies bei Gelegenheit ändern.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Habe gerade eine neue Version hochgeladen. Geändert wurde folgendes:
  • Bei CSV-Dateien mit in Hochkommata eingeschlossenen Spaltenbeschreibungen wurde bisher die letzte Spalte "unterschlagen". Dies wurde behoben.
  • Im Ergebnis kann man mit Linksklick auf die Spaltenheader Spalten entfernen (die aktuelle, alle leeren, ...)
  • Startet man eine Abfrage und dockt den Reiter ab bevor das Ergebnis da war, kam eine Exception. Dies wurde behoben.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Sollte das Wetter und meine Zeitplanung bestand haben, komme ich am WE hoffentlich mal wieder dazu, ein paar BugFixes und Erweiterungen umzusetzen. Wenn also noch jemand eine Idee hat, oder einen Fehler gefunden hat (der hier noch nicht genannt wurde), dann immer her damit.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Habe gerade eine neue Version online gestellt (wie üblich über den Link im ersten Beitrag):
  • Benutzername und Passwort sind nun für ODBC-Quellen optional angebbar (also z.B. auch nur Passwort)
  • Bei Snippets, wo der Platzhalter "{tablename}" verwendet wird, stürzt das Programm nun nicht mehr ab, wenn der Tabellenname kürzer als dr Platzhalter ist
  • Einlesen von CSV-Dateien etwas beschleunigt
  • Einige Fehler beim Einlesen von HTML-Dateien behoben (Encoding-Prüfung)
  • Wird nun ein Link in die Zwischenablage kopiert, erscheint ein Hinweisfenster über dem Tray-Bereich. KLickt man dort auf den Link, werden die Tabellen in der verlinkten HTML-Seite geöffnet (das Hinweisfenster ist noch beta). Das Gleiche gilt für lokale Dateien (diesbzgl. ist langfristig auch ein Explorer-Kontextmenü-Eintrag geplant).

Weitere Änderungen betreffen die Basis. So wurden einige Schnittstellen erweitert, um das Erstellen und Umbenennen von Tabellen zu ermöglichen. Sobald die Tests abgeschlossen sind, ist damit der Grundstein für den Export von Abfragen in unterstützte Datenquellen gelegt (also z.B. ein MSSQL-Abfrage-Ergebnis direkt in Excel oder Access speichern, oder umgekehrt Excel-Tabellen direkt in eine echte Datenbank zu kopieren).

Alle die auf die Möglichkeit warten, einzelne Spalten dateibasierter Datenquellen abzufragen, muss ich leider wieder enttäuschen. Ebenso bin ich noch nicht dazu gekommen, weitere Datenquellen zu unterstützen.

EDIT: Startet man den DBE per Commandline mit einer Datei-Angabe (voller Pfad), so wird die Datei geöffnet, falls der Dateityp unterstützt wird. Dies funktioniert auch bei bereits laufenden Instanzen.
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Habe noch einen Fehler bzgl. ODBC-Benutzer-/Passwort-Angabe behoben, und im Tabellenmenü den Punkt "Umbenennen" hinzugefügt (funktioniert aber nicht bei URL-Dateiquellen sowie ODBC-Datenquellen).

Zudem ist mir aufgefallen, dass teilweise die Infofenster bzgl. Url's in der Zwischenablage mehrfach aufkommen. In einigen Fällen ist dabei sogar der DBE abgestürzt, in anderen Fällen hat er einfach nicht auf die Änderung reagiert.

Daher ist diese Funktion per default deaktiviert, kann aber über die Einstellungen aktiviert werden.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Habe gerade mal wieder das Phänomen gehabt, dass der DBE b eim Minimieren und Maximieren (zwei offene Result-Panels) den kompletten rechner (Quad-Core) für einige Sekunden lahm legt, obwohl laut Taskmanager nur eine CPU voll belastet wird.
Dass habe ich mittlerweile auf zwei Rechnern erlebt.

Hat jemand ähnliches erlebt und evtl. gezielt reproduzieren können?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
exiter30
myCSharp.de - Member



Dabei seit:
Beiträge: 4

beantworten | zitieren | melden

Hallo,...

tut mir leid, wenn ich die positiven Meinungen unterbrechen muss,
das Tool an sich ist nicht schlecht (Lob), jedoch läuft der Speicher bei größeren Abfragen voll und das Prog. stürzt ab....
Attachments
test
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

@exiter30:
Wow! Was ist das für eine Abfrage?
Ich hab' mal eine Abfrage einer SQL-Tabelle gemacht: 2.7mio Zeilen, 21 Spalten, Speicherverbrauch liegt bei 2.6GB. Hat knapp über 2min. gedauert, aber funktioniert.

Interessant, wäre, was im Logfile steht.


EDIT: Hab' gerade festgestellt, dass er anscheinend den Speicher nicht wieder freigibt, auch wenn das Panel geschlossen wird, muss ich noch prüfen.

Bzgl. Speicher: Ich hab' bei mir 64bit-System, entsprechend läuft der DBE auch mit 64bit. Hab
den Prozess mittlerweile auf stolze 4GB gehieft, läuft immer noch ;-) (hab' aber auch 6GB RAM hier). Ich muss' das mal zu Hause testen, da hab' ich nur 32bit und 3GB RAM frei.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
Siassei
myCSharp.de - Member



Dabei seit:
Beiträge: 411

beantworten | zitieren | melden

Zitat von tom-essen
Wow! Was ist das für eine Abfrage?
Ich hab' mal eine Abfrage einer SQL-Tabelle gemacht: 2.7mio Zeilen, 21 Spalten, Speicherverbrauch liegt bei 2.6GB. Hat knapp über 2min. gedauert, aber funktioniert.
Sein Explorer gibt einen Speicherverbrauch von 1.2 GB an.

Generell. Man sollte bei großen Abfragen immer den zur verfügungstehenden Speicher im Blick behalten. Evtl. auch vor der Aktion den benötigten Speicher abschätzen und ggf. den Benutzer informieren/warnen. Zudem würde sich der Benutzer über einen Abbrechen-Button freuen. Es ist einfach nicht schön, wenn das Programm mehrere Minuten/Stunden arbeitet und man die Aktion nicht unterbrechen kann.

Gruß, Thomas
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

@Siassei:
Zitat
Sein Explorer gibt einen Speicherverbrauch von 1.2 GB an.
Mich interessiert dabei eher die Anzahl Zeilen und Spalten (also z.B. 5mio Zeilen bei 2 Spalten, oder eher umgekehrt).
Zitat
Man sollte bei großen Abfragen immer den zur Verfügung stehenden Speicher im Blick behalten. Evtl. auch vor der Aktion den benötigten Speicher abschätzen und ggf. den Benutzer informieren/warnen
Das wird schwierig. Dazu müsste man zumindest die Zeilenanzahl abfragen, was bei verschachtelten Abfragen schon doppelten Aufwand für den SQL-Server bedeutet.
Und auch dann kann man immer noch nicht abschätzen, wie viel an Daten rüber kommt (wenn z.B. BLOB-Spalten in der Abfrage enthalten sind).
EDIT: Evtl. kann man allgemein den Speicherverbrauch des DBE überwachen, und bei Überschreitung einer benutzerdefinierten Schwelle eine Warnung ausgeben. Das werde ich mal mit in meine Liste aufnehmen. Danke für die Idee.
Zitat
Zudem würde sich der Benutzer über einen Abbrechen-Button freuen. Es ist einfach nicht schön, wenn das Programm mehrere Minuten/Stunden arbeitet und man die Aktion nicht unterbrechen kann.
Abfrage abbrechen geht jederzeit (über den roten runden Knopf, der nach einer Abfrage immer zum Refresh-Button wird), und während der Abfragen ist die Anwendung nicht blockiert.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Nach langer Zeit endlich mal wieder ein Udate.
Folgendes hat sich geändert:
  • Diverse kleine Fehlerbehebungen bzw. zusätzliche Abfangroutinen bei Datenabfragen
  • Für alle dateibasierten Datenquellen ist nun die Selektierung einzelner Spalten möglich, ebenso wie einfache Abfrageprüfungen und Sortierung. Einzelne Gruppierungen sind noch nicht möglich, ein DISTINCT sollte aber funktionieren.
    select distinct vorname, nachname from personen where anrede='Herr' order by nachname asc, vorname desc
  • Erweitertes Kontextmenü bei Klick auf linken Zeilenrand, u.a. Entfernung doppelter zeilen (DISTINCT)
  • Alphabetische Sortierung des TreeView über die Programmeinstellungen möglich
  • Kontextmenü in TreeView und Einstellungsfenstern nun auch per tastatur aufrufbar (ALT-F10 oder Windows-Kontextmenü-Taste)
  • Markiert man einen Teil einer Abfrage und refresht dann (z.B. mit F5) wird (wie im SQL-management-Studio) nur die Markierung als Abfrage ausgeführt
  • Die Erkennung des Formats einer CSV-Datei wurde überarbeitet, nun werden auch CSV-Dateien mit konstanten Spaltenbreiten rel. genau erkannt
  • Der Excel-Import wurde bzgl. der Spaltennamen etwas überarbeitet
  • EDIT: Wird eine Abfrage abgeschlossen, während das Fenster minimiert ist, erscheint eine Mitteilung über dem Tray-Bereich. Ein Klick auf die Meldung, und das Panel öffnet sich
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Noch ein Update:
  • Bei Oracle-Datenbanken wird nun nach verfügbaren Datenbanken gesucht und die namen zur Auswahl angezeigt, ähnlich wie bei MS SQL-Datenbanken
  • Bei laufenden Anfragen wird nun in der Statusleiste des Panels die aktuelle Dauer angezeigt
  • Bei erneuter Ausführung einer Abfrage wird das aktuelle Ergebnis entfernt
  • Bei CSV-Dateien mit festen Spaltenbreiten (also ohne Trennzeichen) werden bei automatischer Erkennung die Spalteninformationen in den Einstellungen gespeichert und können so nachträglich angepasst werden
  • Beim Öffnen eines Zweigs in der TreeView wurde die Anzeige optimiert: Die Animation flackert nun kaum noch und die TreeView wird deutlich schneller aufgebaut.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
ujr
myCSharp.de - Experte



Dabei seit:
Beiträge: 1770

beantworten | zitieren | melden

Hallo,

vielen Dank für das nützliche Programm!
Zitat von tom-essen
  • Bei Oracle-Datenbanken wird nun nach verfügbaren Datenbanken gesucht und die namen zur Auswahl angezeigt, ähnlich wie bei MS SQL-Datenbanken

Hmm, das wollte ich für MSSQL vorschlagen. Bei mir geht das nämlich nicht. Wie kann ich die Funktion aktivieren? Es gibt zwar eine ComboBox mit Vorschlägen für den Server selbst, bei der Datenbank habe ich jedoch nur eine Textbox. Eine Liste vorhandener Datenbanken wäre sehr hilfreich, allein schon für "AdventureWorks", aber auch für eigene.

Bist Du schon mal dazu gekommen, nach Unterstützung für SQL Server CE (compact) zu schauen?

Edit: Noch eine "Kleinigkeit" - möchte ich z. B. eine neue Quelle für MSSQL hinzufügen, friert beim ersten Versuch nach dem Start der Anwendung für ein paar Sekunden komplett der Mauszeiger ein. Seltsam.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ujr am .
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!
Zitat von ujr
das wollte ich für MSSQL vorschlagen
Ist auch geplant, allerdings muss ich dazu den Dialog für die Einstellungen stark anpassen (bzw. aufgrund anderer Anforderungen komplett neu schreiben). Bin da zwar auch schon dran, kann aber noch eine Weile dauern (Schätzungen möchte ich dazu lieber nicht abgeben ;) ).
Zitat von ujr
Noch eine "Kleinigkeit" - möchte ich z. B. eine neue Quelle für MSSQL hinzufügen, friert beim ersten Versuch nach dem Start der Anwendung für ein paar Sekunden komplett der Mauszeiger ein.
Das kommt daher, weil beim ersten Mal intern nach allen verfügbaren MS SQL-Servern gesucht wird. Das Einfrieren kommt dadurch, dass die UI solange auf das Ergebnis wartet, was natürlich ein Design-Fehler ist. Besser wäre es, wenn die Combobox über einen Hintergrund-Thread gefüllt würde. Ist ebenfalls bereits geplant (s.o.).

Aktuell bin ich dabei, kleinere Fehler auszubessern, und die eine oder andere Zusatz-Funktion einzubauen.

Spätestens um die Weihnachtsfeiertage wird es was neues geben (ich hoffe natürlich viel früher), dann kommt ja auch der 1. Jahrestag des DBE.

23.11.2011 Nachtrag: Bin gerade dabei, Unterstützung für weitere RDBMS einzubinden, etwas Probleme bereitet mir noch SQL Compact, weil ich damit null Erfahrung habe.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Es ist mal wieder soweit, im ersten Beitrag liegt eine neue Version zum Download bereit, sowie die komplette Liste der unterstützten Datenquellen.

Folgendes ist neu / geändert:
  • Support für MS SQL Compact
  • Support für SQLite (wer es mit den Firefox-Dateien ausprobieren möchte: Es funktionieren nicht alle, weil FF teilweise die Dateien komplett gesperrt hat, wenn er läuft)
  • Kein Blockieren mehr beim ersten Aufruf der MS SQL-Datenquellen-Auswahl
  • Es wurde ein SQL-Parser eingebaut. Ist jetzt nicht das Nonplusultra, aber die Standard-SQL-Anweisungen schafft er in der Regel. Das Ergebnis kann über das Symbol mit dem Baumdiagramm (Tooltip "Show query tree") angezeigt werden (am Ausdruck wird noch gearbeitet). Ist dieses ausgegraut, konnte die Anfrage nicht geparst werden (der komplette Fehler steht dann im Protokoll, Aufrufbar über die Hilfe).
    Vorteile:
    In der Ergebnisansicht können nun die Spalten in vielen Fällen der ursprünglichen Tabelle zugeordnet werden. Ist der Spaltenname unterstrichen, kann man mit einem Rechtsklick sehen, zu welcher Tabelle die Spalte gehört und wie diese ursprünglich heißt. Zusätzlich ist damit nun eine Hervorhebung bestimmter Ergebnisse möglich (siehe nächster Punkt).
  • Mit einem Rechtsklick auf eine Zelle im Ergebnis öffnet sich nun ein Kontextmenü:
    Abfrage: Öffnet eine wählbare Tabelle, und filtert nach den Inhalten einer ebenfalls auszuwählenden Spalte.
    Daten aus xxxxx: Öffnet die Tabelle xxxxx, zu welcher die Spalte gehört und filtert nach diesem Wert
    Hervorhebung: Siehe nächster Punkt
  • Man kann nun sog. Hervorhebungen definieren. Dabei wird für einen bestimmten Wert einer bestimmten Spalte in einer bestimmten Tabelle definiert, wie diese beim Auftreten in einem Ergebnis verdeutlicht werden soll. Aktuell gibt es lediglich die optische Hervorhebung (Definition von Schrift, Farbe und Hintergrund möglich). Die Hervorhebung kann wahlweise nur für die betroffene Zelle oder die gesamte Zeile erfolgen.
  • Anzeige der dateibasierten Datenquellen-namen geändert (zuerst Dateiname, dann Verzeichnis bzw. Basis-URL)

EDIT: Support für Firebird, PostgreSql und DB2 kommt erstmal nicht, weil ich Probleme habe, die passenden ADO.NET-Provider zu besorgen und / oder einzubinden.

Als nächstes wird Datenbank-Dokumentation kommen, weiterhin geplant ist Intellisense.
Danach werden erstmal die Schnittstellen weiter ausgebaut, um auch Prozeduren und Indizees anzeigen zu lassen und Daten bei einfachen Abfragen direkt im Ergebnis ändern zu können.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
mabo
myCSharp.de - Member



Dabei seit:
Beiträge: 335

beantworten | zitieren | melden

Die Unterstützung für SQL Compact finde ich super.

Und einen Fehler habe ich auch gefunden: Als Abfrage "Select count(1) from tabelle" eingeben und auf Show query tree klicken. (Datenbank war MS SQL falls es wichtig ist)
Fehler
************** Ausnahmetext **************
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei TD.Additional.Data.Parser.SqlParser.ParseIdentifier(DslElement element)
bei TD.Additional.Data.Parser.SqlParser.ParseToken()
bei TD.Additional.Data.Parser.SqlParser.ParseExpession()
bei TD.Additional.Data.Parser.SqlParser.ParseSelectCommand()
bei TD.Additional.Data.Parser.SqlParser.ParseKeyword()
bei TD.Additional.Data.Parser.SqlParser.ParseToken()
bei TD.Additional.Data.Parser.SqlParser.Parse()
bei DatabaseExplorer.Controls.ResultViewPanel.GetParser(String query)
bei DatabaseExplorer.Controls.ResultViewPanel.toolStripButtonShowQueryTree_Click(Object sender, EventArgs e)
bei System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
bei System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
bei System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
bei System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ToolStrip.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

@mabo:
Danke für den Hinweis. Hatte nicht bedacht, dass man für count auch einen Parameter angeben kann.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Der Download im ersten Beitrag wurde aktualisiert:
  • COUNT wird nun korrekt unterstützt
  • Weniger Verzögerung beim Beenden (zumindest bei umfangreichen Settings)
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Neue Version im ersten Beitrag.

Neu:
  • Experimentelle Unterstützung für Firebird-Datenbanken (lokale aktuell nur in 32 bit wegen der fb_embed.dll)
  • Behebung diverser kleiner Fehler (z.B. Umbruch in Protokoll-Anzeige, wenn Text länger als 250 Zeichen, Aktualisierung SQL-Parser, ...)
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Im ersten Beitrag befindet sich eine neue Version des DBE zum Download.

Folgende Änderungen wurden vorgenommen:
  • Tabellen- und Spaltennamen lassen sich über das Kontextmenü in die Zwischenablage kopieren
  • Die Spaltenliste lässt sich über das Kontextmenü von "Columns" als text in die zwischenablage kopieren
  • Über "Tables" lassen sich alle leeren Tabellen ausblenden
  • Bei den Spalten wird nun (wenn möglich) angeziegt, ob diese zu einem Primärschlüssel gehören (vorangestelltes "(PK) ")
  • Invertierung des Ergebnisses über das neue Symbol in der Toolleiste ganz rechts (der rechtsgedrehte grüne Pfeil): Dadurch werden Zeilen und Spalten vertauscht
  • Kontextmenü in der ersten Zelle zwischen Zeilen- und Spaltenkopf
  • Erweitertes Kontextmenü der Ergebniszellen (s.u.)
  • Kein "Procedures"-Zweig mehr in der Baumansicht. Dieser wird erst wieder angezeigt, wenn ich die entsprechende Unterstützung implementiert habe, solange muss man den Umweg z.B. über Snippets nehmen.
  • Anzeige, welche Zelle "null" ist, also nicht einfach nur leer, sondern nicht gesetzt (durch ein kursiv dargestelltes "null")
  • Byte-Arrays werden nun in Hex-Schreibweise angezeigt (0x....)
  • In allen Datenquellen wird mittlerweile auch die Rückgabe zusätzlicher Informationen protokolliert (also z.B. Warnungen oder zusätzliche Fehlerinformationen, welche vom ADO.NET-Adapter kommen).

Hauptsächlich erweitert wurde das Kontextmenü der Ergebniszellen:
  • Zu referenzierten Spalten (also wo durch die geparste Anfrage eine eindeutige Rückverfolgung zur ursprünglichen Tabelle und Spalte möglich ist) ist nun eine Referenzierung zu anderen Tabellen möglich, ebenso wie eine Verwaltung der möglichen Werte zu Dokumentationszwecken
  • Textfeldinhalte können nun in einem Extra-Fenster (z.Zt. noch modal) als text, XML oder HTML angezeigt werden, wobei Text- und XML-Ansicht noch gleich sind (an einem ganz einfachen XML-Viewer arbeite ich gerade).

TODOs:
Da der Funktionsumfang mittlerweile doch recht groß geworden ist, bin ich aktuell auch dabei, eine Dokumentation zu schreiben.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Über den Link im ersten Beitrag gibt’s wieder eine neue Version, u.a. mit den folgenden Änderungen:
  • Verbesserter SQL-Parser
  • Verbesserter Ausdruck des SQL-Baums
  • Beseitgung einiger kleinerer Fehler
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Wieder ist eine aktualisierte Version über den Link im 1. Beitrag verfügbar.

Geändert wurde diesmal folgendes:
  • Übersichtlicherer Einstellungsdialog durch Verwendung von Registerkarten
  • Verbesserter SQL-Parser
  • Ausdruck der Struktur einer Datenquelle (über Kontextmenü) als TreeView
  • Im- und Export der Daten und der Struktur einer Datenquelle (über Kontextmenü)
  • Kontextmenü Spalte im Ergebnis: Ändern des Datentyps
  • Kontextmenü Zeile: Ausdruck von markierten Zeilen (als Tabelle, als Schlüssel-Wert-Paarung, ...)
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers