C# 尝试将数据表从一个窗体传递到另一个窗体时获取空引用异常
我正在尝试将数据表从一种形式传递到另一种形式。已成功从数据库检索Datable,但程序在设备上部署时引发空引用异常错误。 我的代码C# 尝试将数据表从一个窗体传递到另一个窗体时获取空引用异常,c#,mysql,C#,Mysql,我正在尝试将数据表从一种形式传递到另一种形式。已成功从数据库检索Datable,但程序在设备上部署时引发空引用异常错误。 我的代码 表格1: if (comboBox1.SelectedItem.ToString() == "Select by Picture") { MySqlConnection con = new MySqlConnection("server=******;port= *****;database=********;
表格1
:
if (comboBox1.SelectedItem.ToString() == "Select by Picture")
{
MySqlConnection con = new MySqlConnection("server=******;port= *****;database=********;User Id=root;Password=;");
MySqlDataAdapter d_a = new MySqlDataAdapter("Select Picture From sampledata", con);
DataTable d_t = new DataTable();
d_a.Fill(d_t);
int count = d_t.Rows.Count;
PictureSelection ps = new PictureSelection();
if (count > 0)
ps.Storelist.Items.Clear();
for (int i=0 ; i <count; i++)
{
ps.Storelist.Items.Add(d_t.Rows[i][0].ToString());
}
ps.ShowDialog();
}
else if (comboBox1.SelectedItem.ToString() == "Select by Artist Name")
{
MySqlConnection con = new MySqlConnection("server=*****;port= ****;database=*****;User Id=root;Password=;");
MySqlDataAdapter d_a = new MySqlDataAdapter("Select Artist Name From sampledata", con);
DataTable d_t = new DataTable();
d_a.Fill(d_t);
int count = d_t.Rows.Count;
PictureSelection ps = new PictureSelection();
if (count > 0)
ps.Storelist.Items.Clear();
for (int i = 0; i < count; i++)
{
ps.Storelist.Items.Add(d_t.Rows[i][0].ToString());
}
ps.ShowDialog();
}
}
任何帮助都将不胜感激。您必须从表格1中设置数据表:
ps.Storelist.Datasource = d_t;
ps.ShowDialog();
因为form2没有datatable的定义,因此会发生错误。使用全局变量的相同名称声明局部变量不会使两者相同,并且局部变量无法从其他类访问。
ps.Storelist.Datasource = d_t;
ps.ShowDialog();