developer Geschrieben 9. Juni 2004 Geschrieben 9. Juni 2004 Moin, ich möchte mit dem MS eMbedded VB eine Applikation für Pocket PCs schreiben. Über WLAN soll dann auf eine dBase Datenbank zugegriffen werden. Hat jemand so etwas schon mal gemacht oder ein Codeschnipsel gefunden? DAO und ADO sind ja darunter etwas anders... Zitieren
Gast Geschrieben 9. Juni 2004 Geschrieben 9. Juni 2004 Im Internet findet man leider nicht allzuviel über das Thema "eMbedded VB und Datenbanken". Ich kann Dir aber längerfristig das Buch "Pocket PC Programmierung mit Visual Basic" empfehlen. ISBN 3-7723-6110-2 In diesem Buch stehen auch einige Sachen zu Datenbankzugriffen via eMbedded VB. Wenn Du konkrete Fragen hast, dann stell sie, ich kann versuchen Dir mit Hilfe meines Exemplares zu antworten. Zitieren
developer Geschrieben 11. Juni 2004 Autor Geschrieben 11. Juni 2004 Hallo LoneGunman, danke für deinen Hinweis. Sicherlich werde ich mir das Buch mal ansehen. Ich möchte eigentlich nur folgendes tun: Ich möchte eine Applikation für Pocket PC schreiben welche über WLAN (oder auch lokal auf dem PDA) auf eine dBase Datenbank zugreift und über SQL Abfragen durchführt, z.B. eine Suche. Ist ja eigentlich nicht viel. Daher bin ich mir noch nicht sicher, ob ich mir deshalb gleich das Buch kaufen sollte. Habe leider auch nicht viel im Inet gefunden. Bräuchte ja nur einen kleinen Codeschnipsel. Zitieren
Gast Geschrieben 12. Juni 2004 Geschrieben 12. Juni 2004 Ich könnte Dir ein Beispiel einer lokalen Verbindung zu einer cdb-Datenbank (CE-Äquivalent zu einer mdb-Datenbank) posten, wenn es Dir denn hilft. Zitieren
developer Geschrieben 14. Juni 2004 Autor Geschrieben 14. Juni 2004 Leider bringt mir das in diesem Falle nichts. Es muss doch eine Möglichkeit geben auf eine dBase (IV) Datenbank zuzugreifen. Von mir aus mit ODBC... oder unterstützt das das Betriebssystem PocketPC nicht? Zitieren
Gast Geschrieben 14. Juni 2004 Geschrieben 14. Juni 2004 Meine gründlichere Recherche in Buch hat ergeben das eMbedded VB nur cdb-Datenbanken (CE-Version von mdb-Datenbanken) und SQL-Server unterstützt. Für einen Zugriff auf eine dBase-Datenbank via WLAN sehe ich leider schwarz. Zitieren
developer Geschrieben 15. Juni 2004 Autor Geschrieben 15. Juni 2004 Kann ich mir irgendwie aber nicht vorstellen. dBase Datenbanken sind ja nichts anderes als Textdateien, wobei die Datensätze mit einer bestimmten Länge getrennt sind... Vieleicht sollte ich ja einen Treiber für VBCE schreiben :cool: Das MUSS es irgendwo geben... Trotzdem danke für die Mühe! Zitieren
Gast Geschrieben 15. Juni 2004 Geschrieben 15. Juni 2004 Sofern es sich bei den dBase-Datenbanken um Textdateien mit einer bestimmten Struktur handelt, kann man ja (umständlich) versuchen Datensätze aus den Dateien in datenbankabhängige Objekte in eMbedded VB zu laden und sie dann weiterverarbeiten. just my two cents Zitieren
developer Geschrieben 16. Juni 2004 Autor Geschrieben 16. Juni 2004 Ich habe von einem Mitarbeiter eine CD mit ein paar Schnipsel für embedded VB bekommen. Darunter sind auch 2 Beispiel-Projekte für den Zugriff mit ADO. Das sollte mich weiter bringen. Mal sehen. Zitieren
developer Geschrieben 17. Juni 2004 Autor Geschrieben 17. Juni 2004 Hier mal der Quellcode... Option Explicit Private Sub Form_Load() ' Add column headers lvwArticles.ColumnHeaders.Clear lvwArticles.ColumnHeaders.Add , , "Description", 1900 lvwArticles.ColumnHeaders.Add , , "Price", 600, lvwColumnRight lvwArticles.ColumnHeaders.Add , , "Stock", 600, lvwColumnRight End Sub Private Sub cmdGet_Click() Dim laco As Connection Dim lars As Recordset Dim lsSQL As String Dim litm As ListItem ' Create objects Set laco = CreateObject("ADOCE.Connection.3.1") Set lars = CreateObject("ADOCE.Recordset.3.1") ' Open Connection laco.Open "Provider=Microsoft.SQLSERVER.OLEDB.CE.1.0;" & _ "Data Source=\DBNAME.sdf" ' Open Recordset lsSQL = "SELECT * FROM Article" lars.Open lsSQL, laco, adOpenForwardOnly, adLockReadOnly ' Clear list and get item rows lvwArticles.ListItems.Clear Do While Not lars.EOF Set litm = lvwArticles.ListItems.Add(, , lars("Description").Value) litm.SubItems(1) = lars("Price").Value litm.SubItems(2) = lars("Stock").Value lars.MoveNext Loop ' Close Recordset and Connection lars.Close laco.Close End Sub Private Sub cmdAdd_Click() Dim laco As Connection Dim lars As Recordset ' Create objects Set laco = CreateObject("ADOCE.Connection.3.1") Set lars = CreateObject("ADOCE.Recordset.3.1") ' Open Connection laco.Open "Provider=Microsoft.SQLSERVER.OLEDB.CE.1.0;" & _ "Data Source=\DBNAME.sdf" ' Open Recordset lars.Open "Article", laco, adOpenDynamic, adLockOptimistic, adCmdTableDirect ' Add new Article lars.AddNew lars("Description").Value = "Test" lars("Price").Value = 50 lars("Stock").Value = 100 lars.Update ' Close Recordset and Connection lars.Close laco.Close End Sub Private Sub cmdChange_Click() Dim laco As Connection Dim lars As Recordset ' Create objects Set laco = CreateObject("ADOCE.Connection.3.1") Set lars = CreateObject("ADOCE.Recordset.3.1") ' Open Connection laco.Open "Provider=Microsoft.SQLSERVER.OLEDB.CE.1.0;" & _ "Data Source=\DBNAME.sdf" ' Open Recordset lars.Open "Article", laco, adOpenDynamic, adLockOptimistic, adCmdTableDirect lars.Find "Description='Test'" ' Update Article If Not lars.EOF Then lars("Price").Value = 200 lars.Update End If ' Close Recordset and Connection lars.Close laco.Close End Sub Private Sub cmdDelete_Click() Dim laco As Connection Dim lars As Recordset ' Create objects Set laco = CreateObject("ADOCE.Connection.3.1") Set lars = CreateObject("ADOCE.Recordset.3.1") ' Open Connection laco.Open "Provider=Microsoft.SQLSERVER.OLEDB.CE.1.0;" & _ "Data Source=\DBNAME.sdf" ' Open Recordset lars.Open "Article", laco, adOpenDynamic, adLockOptimistic, adCmdTableDirect lars.Find "Description='Test'" ' Delete Article If Not lars.EOF Then lars.Delete ' Close Recordset and Connection lars.Close laco.Close End Sub Private Sub Form_OKClick() App.End End Sub Zitieren
Gast Geschrieben 18. Juni 2004 Geschrieben 18. Juni 2004 Danke für den Quellcode. Werde ihn mal am Wochenende mit meinen Quellen vergleichen. Zitieren
Gast Geschrieben 20. Juni 2004 Geschrieben 20. Juni 2004 Hmm, der Quellcode (bzw. das Verfahren) stimmt in etwa mit meinen Quellen überein. Konntest Du denn auf die Datenbank via WLAN zugreifen? Zitieren
developer Geschrieben 21. Juni 2004 Autor Geschrieben 21. Juni 2004 Konntest Du denn auf die Datenbank via WLAN zugreifen? Das wird sich erst noch zeigen müssen, da mein PDA kein eingebautes WLAN hat. Der von meinem Chef hat auch nur Bluetooth. Das einzige "Problem" sollte allerdings nur der Zugriffspfad sein, denke ich. Ich hoffe ich kann den über das VB so setzen, dass er ein (z.B. gemapptes) WLAN LAufwerk als Pfadangabe akzeptiert. WEnn nicht müsste ich über eine Dateisynchronisation gehen, also alle n Minuten die Dateien über Hotsync abgleichen. Habe sogar ein kleines Freeware-Programm gefunden mit dem du auf dbf Dateien zugreifen kannst. Leider ist nur der komplette Table anzeigbar und keine Selektionen möglich. Aber das will ich ja eh selbst programmieren. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.