Tool zum verwalten einer DB

czemmel

Mitglied
Hallo zusammen,
habe eine Mobile Anwendung geschrieben mit einer sdf-DB. Auf dem mobilen Gerät habe ich evtl. bei Störungen einen sog. Query Analyzer installiert. Mit diesem Analyzer habe ich die Möglichkeit manuell mit SQL-Befehlen auf die DB zuzugreifen.

Nun möchte ich gerne so ein Tool in meine Anwendung, sei sie Mobil oder Desktop, einbauen. Da ich ja nicht immer mein VS oder Access habe.

hat irgend jemand eine Idee oder einen Verweis auf ein Beispiel.

Vielen Dank für die Hilfe
Gruß
Czemmel
 

Nico Graichen

Erfahrenes Mitglied
Hi

Ich versteh nicht wirklich dein Problem.
Mach doch einfach eine Form mit einer TextBox für den Query, ein DataGridView oder eine weitere TextBox für das Ergebnis und einen Button zum ausführen. Damit hättest du schon mal das wichtigste (den Code zum Abfragen von der DB nicht vergessen) ;)
Für alles weitere solltest du dein Problem bitte etwas mehr spezifizieren.
 

czemmel

Mitglied
Danke, auf die Idee bin ich noch gar nicht gekommen.:eek:
Es hätte auch sein können, dass so etwas jemand schon gemacht hat und ein Code-Beispiel für mich hätte.
Gruß
Czemmel
 

czemmel

Mitglied
Irgendwie habe ich mich verant.
Also nochmal, folgende Funktionen sollten vorhanden sein:
1. Auswahl einer DB mit OpenfileDialog
2. Anzeige aller Tabellen und deren Feldinhalte
3. weiteres Fenster um SQL- Statements einzugeben
4. weiteres Fenster um Tabellenschema direkt bearbeiten zu können

Bin jetzt vor lauter lesen und probieren total leer und weis nicht mehr weiter.
Brauche dringen Hilfe
Danke
Czemmel
 

czemmel

Mitglied
Hat zwar etwas lange gedauert, aber ich lebe noch und bin sogar ein stückchen weiter.

Also in meinem Tool wähle ich mit Hilfe der DriveListbox-->DirListBox und FileListBox oder je nach Wunsch mit dem OpenFileDialog meine DB aus.

Nun sollen die Tabellen in einer cbo angezeigt werden und in einem Grid der Tabellen inhalt der gewählten Tabelle. Mit Access-Datenbanken habe ich das so gelöst:

Code:
            ' ###############################################################
            ' ##     Neue Verbindung zu einer mdb-DB aufbauen
            ' ###############################################################
            Dim strConn As String
            Dim aCon As OleDb.OleDbConnection
            strConn = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}", strDBPfad + "\" + strDBName)
            aCon = New OleDb.OleDbConnection(strConn)
            Dim dTbl As DataTable
            aCon.Open()
            'Füllen der ComboBox2
            Try
                dTbl = aCon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})
                ComboBox2.DataSource = dTbl
                ComboBox2.DisplayMember = "TABLE_NAME"
            Finally
                aCon.Close()
            End Try

und in meinem Button-Ereigniss habe ich folgenden Code:

Code:
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        ' Anzeigen des Tabelleninhaltes#
        DataGridView3.DataSource = Nothing
        DataGridView3.DataMember = Nothing
        Dim sTableName As String = ComboBox2.GetItemText(ComboBox2.SelectedValue)
        'StatusBar1.Text = sTableName
        Dim strConn As String = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}", strDBPfad + "\" + strDBName)
        Dim aCon = New OleDb.OleDbConnection(strConn)
        aCon.Open()
        Try
            Dim aCmd As OleDb.OleDbCommand
            Dim aAdp As OleDb.OleDbDataAdapter
            Dim aDS As DataSet = New DataSet
            aCmd = New OleDb.OleDbCommand("SELECT * FROM " + sTableName, aCon)
            aAdp = New OleDb.OleDbDataAdapter(aCmd)
            aAdp.Fill(aDS, sTableName)
            DataGridView3.DataSource = aDS
            DataGridView3.DataMember = sTableName
        Finally
            aCon.Close()
        End Try

    End Sub

Nun möchte ich dieses Tool auch noch für eine Mobile Datenbank (*.sdf) anwenden. leider gibt es den Befehl GetOleDbSchemaTable(OleDbSchemaGuid.Ta.... da nicht.

Hat jemand eine Idee, wie ich die Tabellen auslesen kann

Gruß
Krebsbachbub
 

Neue Beiträge