1

Solution Explorer is shown in this image Wie kann ich mit SQL Compact-Server-Datenbank für CE-Geräte verbinden. Ich habe es mit einem einfachen Code müde.Window CE sollte eine Verbindung mit dem SQL-compact-Server, aber ich bin ein Anfänger Benutzer für diese Technologie. This is error on deviceFenster eingebettet CE-Konnektivität mit SQL Compact in 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

Code sieht gut aus - ist die Datenbank gültig? Ist der Tisch dort mit den angegebenen Schlüsseln? Die Tatsache, dass dieses Fehlerfeld anstelle Ihres Meldungsfelds angezeigt wird, zeigt an, dass der Fehler woanders liegt. Sind Sie sicher, dass dies auftritt, wenn Sie den Datenbankzugriffscode auskommentieren? Haben Sie alle erforderlichen DLLs zur Verwendung von SQLCE bereitgestellt? Versuchen Sie das Debuggen, indem Sie einen Haltepunkt setzen - in welcher Zeile tritt der Fehler auf? –

+0

Ja, ich habe alle erforderlichen DLLs hinzugefügt, aber es zeigt immer noch den gleichen Fehler. Der Fehler wurde nicht angezeigt, wenn es im Emulator ausgeführt wurde. Es wird nur auf dem Gerät angezeigt. –

+0

Was ist mit meinen anderen Fragen? Und was hält dich davon ab, auf dem Gerät zu debuggen? –

Antwort

2

Nach einiger R & D fand ich die Antwort auf diese Frage. Der Fehler bedeutet, dass DLL nicht mit dem Gerät kompatibel ist. SQL Compact Service Pack 1 unterstützt dies nicht. Die Lösung für dieses Problem ist [SQL Compact Service Pack 2 installieren]1 mit Visual Studio 2008. Die Datei befindet sich unter C: \ Programme (x86) \ Microsoft SQL Server Compact Edition \ v3.5 \ Devices \ System.Data.SqlServerCe.dll. So Now Entfernen Sie Ihre vorherige System.Data.SqlServerCe.dll aus Referenz und fügen Sie Service Pack 2-DLL-Datei beispielsweise System.Data.SqlServerCe.dll hinzu. Ich hoffe, das wird für euch alle funktionieren.