私はこのコードを使ってアイテムを取得する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
が、私はこれを修正するために何ができるかのDataTableににCheckedListBoxをバインドする方法を他の方法があります? ありがとうございます。
あなたのDSとして渡されているかどうか確認する必要があると述べているすべては、なぜチェックし、それを修正nullです。デバッグを使うことができます! – mybirthname
十分なコードが表示されていません。 'ds.Tables [0]'にはどこに値が入りますか?現在は空ですので、エラーが発生します。 – Equalsk
@RoxhensMeraj選択クエリが結果を返さないためです。 –