2016-10-05 2 views
1

Ich habe ein Problem. Ich schreibe Fensterformularanwendung in C# .net und verbinde mich mit SQL Server im lokalen Netz. Wenn das Netzwerk getrennt ist, reagiert mein Programm nicht. Ich meine, es versucht, Daten von SQL-Server auswählen, aber Netzwerk ist getrennt. Wie bekomme ich diesen Fehler? Danke im Voraus.Programm reagiert nicht während der Verbindung mit SQL Server

+0

Haben Sie einen Try-Catch-Block in Ihrem Programm? Was ist die Zeitüberschreitung, die Sie beim Verbindungsaufbau eingestellt haben? – Tim

+0

Ja ich benutze versuchen fangen! Aber ich weiß nicht, wie ich Timeout einstellen soll! Wenn Sie wissen, antworten plz! Danke big big –

+0

Können Sie den Code zeigen, den Sie verwenden? –

Antwort

0

Sie müssen grundsätzlich zuerst nach der Open Connection suchen!

Und Sie können ein Ereignis zu Notify, dass die Verbindung geschlossen wurde!

+0

Vielen Dank! Ich überprüfe nicht die Verbindung, bevor ich Daten auswähle! Ich werde es versuchen –

+0

@Mean Sokleap akzeptieren die Antwort, wenn Sie die Antwort mögen =) –

2

Überprüfen Sie die Dokumentation für eine Zeitüberschreitung MSDN

Hier ist ihr Beispielcode

using System; 
using System.Data.SqlClient; 
/// 
public class A { 
    /// 
    public static void Main() { 
     string connectionString = ""; 
     // Wait for 5 second delay in the command 
     string queryString = "waitfor delay '00:00:05'"; 
     using (SqlConnection connection = new SqlConnection(connectionString)) { 
     connection.Open(); 
     SqlCommand command = new SqlCommand(queryString, connection); 
     // Setting command timeout to 1 second 
     command.CommandTimeout = 1; 
     try { 
      command.ExecuteNonQuery(); 
     } 
     catch (SqlException e) { 
      Console.WriteLine("Got expected SqlException due to command timeout "); 
      Console.WriteLine(e); 
     } 
     } 
    } 
} 

Beachten Sie die Linie

command.CommandTimeout = 1; 

Definitiv wickeln Sie Ihren SQL-Code unter dem auch 'Verwendung', wie es wird die Ressourcen automatisch für Sie freigeben.

+0

Danke! Ich werde es versuchen. –

Verwandte Themen