2016-04-15 11 views
0

ich ein Smart Device Projekt erschaffe mit VS2008 für eine WIndows CE 6.0 Gerät mit .Net Compact Framework 3.5Ungültige Verbindung mit C# auf Windows CE SQLConnection-

ist hier mein Code:

 string queryString = "SELECT id, name, insert_date, activity FROM dbo.[my Table]"; 
     StringBuilder errorMessages = new StringBuilder(); 

     using (SqlConnection connection = new SqlConnection("Data Source=dba;Initial Catalog=myDb;Persist Security Info=True;User ID=usern;Password=paswd")) 
     { 
      SqlCommand command = new SqlCommand(queryString, connection); 
      try 
      { 
       connection.Open(); 
       //command.Connection.Open(); 
       //command.ExecuteNonQuery(); 
      } 
      catch (SqlException ex) 
      { 
       for (int i = 0; i < ex.Errors.Count; i++) 
       { 
        errorMessages.Append("Index #" + i + "\n" + 
         "Message: " + ex.Errors[i].Message + "\n" + 
         "LineNumber: " + ex.Errors[i].LineNumber + "\n" + 
         "Source: " + ex.Errors[i].Source + "\n" + 
         "Procedure: " + ex.Errors[i].Procedure + "\n"); 
       } 
       Debug.WriteLine(errorMessages.ToString()); 

      } 
     } 

Geist, die Ameise Tabellennamen Benutzernamen werden geändert aber ich erhalte die folgenden Fehler auf command.Connection.Open();

Index #0 
Message: Invalid connection. 
LineNumber: 0 
Source: .Net SqlClient Data Provider 
Procedure: ConnectionOpen (Invalid Instance()). 

Warum und wie man es beheben? Wenn das nützlich ist, pingelt das Gerät den Server-Computer.

+0

Hat jemand das gleiche Problem? – HellOfACode

Antwort

0

an Stelle von command.Connection.Open(); Verwendung connection.open() und führen nach Abfrage die Verbindung schließen ...

+0

versuchte es, aber das Problem bleibt auf dem Windows CE-Gerät, obwohl wenn ich eine Windows Forms-Anwendung erstellen, ist es in Ordnung (sowohl der Computer und das Smart Device ist im selben Netzwerk) – HellOfACode

0

Ja, öffnen Sie die Verbindung vor dem Befehl Objekt erstellen, werden Sie nicht die Verbindung schließen müssen, weil sie in der Verwendung ist { }