У меня есть CheckedListBox, который использовал этот код для получения элементов.CheckedListBox DataSource внезапно не работает
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");
}
}
}
Внезапно он больше не работает и выдает следующую ошибку:
Exception thrown: 'System.NullReferenceException' in System.Windows.Forms.dll
Что я могу сделать, чтобы исправить это, или есть ли другой способ, как связать CheckedListBox к DataTable ? Спасибо заранее.
Вашего ца является нулевым чеком, почему и исправить ее. Вы можете использовать debug! – mybirthname
У вас недостаточно кода. Где заполняется 'ds.Tables [0]'? Он пуст, поэтому вы получаете ошибку. – Equalsk
@RoxhensMeraj Возможно, потому что ваш запрос Select не возвращает никаких результатов. –