كيف يمكنني الاتصال SDF على جهاز المحمول من تطبيقات سطح المكتب؟

StackOverflow https://stackoverflow.com/questions/1618693

سؤال

وC # WinForms عناصر صافي 3.5 إلى SQL CE 3.5 على تليفون 6.1 الجهاز

وأود أن إجراء اتصال من تطبيقات سطح المكتب إلى قاعدة بيانات SDF على بلدي جهاز ويندوز موبايل في حين انها مرتبطة عبر اكتف. البصرية ستوديو يتيح لي إنشاء اتصال البيانات على جهازي. اتصالات اختبارات موافق، وأستطيع أن عرض البيانات في قاعدة البيانات باستخدام Visual Studio.

وI ثم إنشاء نموذج ومحاولة لملء داتاغريدفيف. عند تشغيل البرنامج أحصل على خطأ هذا المسار إلى قاعدة البيانات غير صالح.

وكيف لي أن لتحديد المسار جهاز تليفون في سلسلة الاتصال؟

في بلدي App.Config، لقد حاولت الاختلافات على الطريق، ولكن أيا منها لا يعمل:

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"

القسم سلسلة الاتصال الكامل يبدو مثل هذا:

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

وأيضا، لم يجعل إشارة إلى Microsoft.SqlServerCe.Client، كما وجدت بعض المقالات التي قالوا إنه كان ضروريا.

ويمكن لأي شخص أن يشير لي أن بعض المقالات الأخيرة / عينات أو اسمحوا لي أن أعرف ما أفعله خطأ؟

وشكرا!

هل كانت مفيدة؟

المحلول

وأنا فقط وجدت أن الأعمال التالية:

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();

وانها ليست بالضبط ما كنت أبحث عنه ولكنها ستعمل لهذا التطبيق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top