2016-10-24 3 views
0
aktualisiert

Ich habe ein seltsames Problem und ich habe keine Ahnung, ob es wegen schlechter Verbindung passiert oder etwas anderes verursacht dies. Das Problem Ich habe eine Combo-Box und ich bevölkere die Werte mit SQL Datentabelle in "Form Load" Ereignis und es funktionierte gut bis heute. Jedes Mal, wenn das Formular geladen wird, sind die Kombinationsfelder für Datum und für Firmennamen leer. Der Code, den ich verwende, ist unten.Kombinationsfeld wird nicht durch SQL Data Adapter

Die Abfrage zeigt das perfekte Ergebnis, wenn ich es auf SQL Server ausführe. Ich freue mich auf Antworten.

+0

Setzen Sie einen Haltepunkt in „Return dt“. Wie sieht die Datentabelle aus? – Jay

+0

Es zeigt Zeilen 80 und keinen Tabellennamen! Und trotzdem ist das Kombinationsfeld leer. Die Abfrage ist in Ordnung und die Verbindung ist in Ordnung –

Antwort

2

Es ist schwer zu sagen, was passiert, aber ich frage mich, ob die Datentabelle nicht ein bisschen übertrieben ist für das, was Sie wollen. Es scheint, dass ein normaler DataReader viel weniger Overhead hätte und einfacher zu debuggen wäre. Etwas wie folgt aus:

public string[] getResult(string query, string ColumnName) 
{ 
    List<string> results = new List<string>(); 

    SqlCommand cmd = new SqlCommand(query, con); 
    cmd.CommandTimeout = 0; 

    SqlDataReader reader = cmd.ExecuteReader(); 
    int col = reader.GetOrdinal(ColumnName); 
    while (reader.Read()) 
    { 
     results.Add(reader.GetString(col)); 
    } 

    reader.Close(); 

    return results.ToArray(); 
} 

Und dann die Elemente in Ihre Kombinationsfelder hinzufügen, wäre es einfach wie folgt aussehen:

comboBox1.Items.AddRange(func.getResult(dateQuery, "Global_Period_Month")); 
comboBox2.Items.AddRange(func.getResult(GpnQuery, "gpnname")); 
+0

Danke @Hambone und ja es ist eine sehr typische Situation auch für mich, dass vorgestern der Code gut funktioniert aber dann stürzt es aber trotzdem danke für die Antwort und Code funktioniert jetzt für mich. Schätzen Sie Ihre Antwort. –

+0

Danke für die Rückmeldung. Datatables sind ein zweischneidiges Schwert. Sehr nützlich und handhaben eine Menge schweres Heben, aber sie haben einige Ecken und Kanten. Ich bin froh, dass das für dich funktioniert hat. – Hambone

Verwandte Themen