1

Solution Explorer is shown in this image Как подключиться к базе данных SQL Compact для устройств Windows CE. Я устал от него с помощью простого кода. Windows CE должен подключиться к SQL-серверу SQL, но я новичок в этой технологии. This is error on deviceОкно встроенного подключения CE с SQL Compact в Visual Studio 2008

using System; 
using System.Linq; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
using System.Data.Common; 
using System.Data.SqlServerCe; 

namespace SQLCompactConnectivity 
{ 
    public partial class Form1 : Form 
    { 
     //public SqlCeConnection con = new SqlCeConnection(@"Data Source=C:\Users\Administrator\Documents\Users.sdf"); 

     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      String query = "Select * from Instrument"; 
      String conString = @"Data Source =\Program Files\SQLCompactConnectivity\Data\Music.sdf"; 
      SqlCeConnection con = new SqlCeConnection(conString); 
      SqlCeCommand cmd = new SqlCeCommand(query, con); 
      con.Open(); 
      try 
      { 
       SqlCeDataReader rdr = cmd.ExecuteReader(); 
       try 
       { 
        while (rdr.Read()) 
        { 
         this.label1.Text += string.Format("\r\n ID: {0} Name: {1}", rdr[0].ToString(), rdr[1].ToString()); 
        } 
       } 
       catch (Exception ex) 
       { 
        MessageBox.Show(ex.Message); 
       } 
       finally 
       { 
        rdr.Close(); 
       } 
      } 
      catch (Exception exc) 
      { 
       MessageBox.Show(exc.Message); 
      } 
     } 
    } 
} 
+0

Код выглядит нормально - действительна ли база данных? Есть ли там таблица с указанными ключами? Тот факт, что это поле ошибки появляется вместо вашего окна сообщения, указывает на то, что ошибка находится где-то в другом месте. Вы уверены, что это происходит, когда вы закомментируете код доступа к базе данных? Вы отправили все необходимые DLL для использования SQLCE? Попробуйте отладить настройку точки останова - на какой строке возникает ошибка? –

+0

Да, я добавил все необходимые библиотеки DLL, но при этом обнаружил ту же ошибку. Ошибка не появлялась при запуске на эмуляторе. Он отображается только на устройстве. –

+0

Как насчет моих других вопросов? И что мешает вам отлаживать устройство? –

ответ

2

После некоторого R & D я нашел ответ на этот вопрос. Ошибка означает, что DLL не совместима с устройством. Служебный пакет SQL Compact 1 не поддерживает это. Решение этой проблемы - [установить пакет SQL Compact 2]1 с Visual Studio 2008. Файл находится в папке C: \ Program Files (x86) \ Microsoft SQL Server Compact Edition \ v3.5 \ Devices \ System.Data.SqlServerCe.dll. Итак, теперь удалите из предыдущей System.Data.SqlServerCe.dll ссылку и добавьте файл DLL пакета обновления 2, например System.Data.SqlServerCe.dll. Надеюсь, это сработает для всех вас.