Ich bin gerade dabei einen kleinen SQL-Editor zu entwickeln, denn ich in verschiedenen Applikationen einbinden kann. Dabei habe ich eine Textbox für die Eingabe des SQL-Statements und ein DataGrid für das Ergebnis. Das ist recht schnell und einfach zu machen.
Ich würde aber gern die Eingabe des SQL-Statements dahingehend unterstützen, dass ich beim Tippen mit Intellisens vorhandene Tabellen bzw. Spaltenname anzeige. Dabei habe ich folgendene Probleme :
* Gibt es eine Möglichkeit unabhängig von der Datenbank (Access, Oracle ...) die vorhandenen Tabellen und deren Aufbau abzurufen.
* Wie funktioniert das Intellisens Thema ?
Hat mir jemand einen Tip ? Vielen Dank im Voraus.
Original von a957m
Wie funktioniert das Intellisens Thema ?
da kannst du dir z.B. den Quellcode von #Develop ansehen
http://www.icsharpcode.net/OpenSource/SD/
Hallo,
zu dem Intellisens Thema bin ich nicht weitergekommen. Ansonsten bin ich mit meinem SQL-Editor soweit durch. Wenn jemand interesse hat kann ich auch gern die Sourcen hochladen. Vielleicht weiss jemand ja noch ein paar schöne Änderungen.
Das Thema mit den Tabelleninformationen geht folgendermaßen :
DataTable table = con.GetSchema("Tables");
foreach (DataRow r in table.Rows)
{
string table_type = (string)r["Table_Type"];
string table_name = (string)r["Table_Name"];
if ( table_type == "TABLE")
listTables.Items.Add(table_name);
}
Spalteninformationen gehen so :
string[] filter = new string[] { null, null, _table, null };
DataTable table = con.GetSchema("Columns",filter);
foreach (DataRow r in table.Rows)
{
string col_name = (string)r["COLUMN_NAME"];
string col_type = (string)r["TYPE_NAME"];
int col_len = Convert.ToInt32(r["COLUMN_SIZE"]);
listColumns.Items.Add(new ListViewItem(new string[] { col_name, col_type, col_len.ToString() }));
}
Wenn jemand interesse hat kann ich auch gern die Sourcen hochladen.
Stell deinen Editor doch ins Projekte Forum
sbertl