Ich habe eine CheckedListBox, die diesen Code verwendet, um die Elemente zu erhalten.CheckedListBox DataSource funktioniert plötzlich nicht
public static void GetDisplayValueList(object clk, string[] kv, string tableName)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
try
{
string list = "";
foreach (string item in kv)
list += item + ",";
string query = "SELECT " + list.Substring(0, list.Length - 1) + " FROM [dbo].[" + tableName + "]";
SqlDataAdapter da = new SqlDataAdapter(query, conn);
DataSet ds = new DataSet();
da.Fill(ds);
((CheckedListBox)clk).DataSource = ds.Tables[0];
((CheckedListBox)clk).DisplayMember = "Description";
((CheckedListBox)clk).ValueMember = "Id";
}
catch (Exception ex)
{
MessageBox.Show("An error has occurred: " + ex.Message, "Error");
}
}
}
Plötzlich es funktioniert nicht mehr und gibt den folgenden Fehler:
Exception thrown: 'System.NullReferenceException' in System.Windows.Forms.dll
Was kann ich tun, um dies zu beheben, oder gibt es eine andere Art und Weise, wie ein CheckedListBox zu einer Datatable zu binden ? Vielen Dank im Voraus.
Ihre ds ist null überprüfen, warum und beheben. Sie können debuggen! – mybirthname
Sie haben nicht genügend Code angezeigt. Wo wird 'ds.Tables [0]' aufgefüllt? Es ist derzeit leer, weshalb Sie den Fehler erhalten. – Equalsk
@RoxhensMeraj Vielleicht, weil Ihre Select-Abfrage keine Ergebnisse liefert. –