Frage

C # WinForms .NET 3.5 auf SQL CE 3.5 auf Mobile 6.1 Gerät

Ich mag eine Verbindung von einer Desktop-Anwendung auf eine SDF-Datenbank auf meinem Windows Mobile-Gerät machen, während es über ActiveSync verbunden ist. Visual Studio läßt mich eine Datenverbindung zu meinem Gerät erstellen. Die Verbindungen testen OK und ich kann die Daten in der Datenbank unter Verwendung von Visual Studio anzuzeigen.

ich ein Formular erstellen Sie dann und versuchen, ein Datagridview zu füllen. Wenn ich das Programm laufen bekomme ich einen Fehler, der der Pfad zu der Datenbank nicht gültig ist.

Wie soll ich den Mobile Device Pfad in der Verbindungszeichenfolge angeben?

In meiner App.Config, ich habe versucht, Variationen auf dem Weg, aber keiner von ihnen arbeiten:

connectionString="Data Source=Mobile Device\Program Files\SqlCeViaActiveSync\Orders.sdf"

connectionString="Data Source=\Mobile Device\Program Files\SqlCeViaActiveSync\Orders.sdf"

connectionString="Data Source=Program Files\SqlCeViaActiveSync\Orders.sdf"

connectionString="Data Source=\Program Files\SqlCeViaActiveSync\Orders.sdf"

Der vollständige Verbindungszeichenfolge Abschnitt sieht wie folgt aus:

<connectionStrings>
    <add name="SqlCeViaActiveSync.Properties.Settings.OrdersConnectionString"
        connectionString="Data Source=Mobile Device\Program Files\SqlCeViaActiveSync\Orders.sdf"
        providerName="Microsoft.SqlServerCe.Client.3.5" />
</connectionStrings>

Auch ich habe einen Verweis auf Microsoft.SqlServerCe.Client machen, wie ich ein paar Artikel gefunden, die erwähnt war es notwendig.

Kann mir jemand Punkt zu einigen Artikeln / samples oder lassen Sie mich wissen, was ich falsch mache?

Danke!

War es hilfreich?

Lösung

Ich fand nur, dass die folgenden Werke:

SqlCeConnection conn = new SqlCeConnection(@"Data Source='Mobile Device\Program Files\SqlCeViaActiveSync\Orders.sdf';");
        conn.Open();
        using (SqlCeTransaction trans = conn.BeginTransaction())
        {
            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = "SELECT [OrderNumber] FROM [Orders];";
                trans.Commit();
                SqlCeDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    this.listBox1.Items.Add((string)dr["OrderNumber"]);
                }

                MessageBox.Show(dr.RecordsAffected.ToString());
            }
        }
        conn.Close();

Es war nicht genau das, was ich suchte, aber für diese Anwendung arbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top