这是一个 Windows 窗体应用程序。我有一个类 Program.cs 和一个带有 ListBox 的表单 DeployerConsole.cs。我正在尝试遍历 SQL 查询的结果。我遇到了麻烦,并得到一个“对象引用未设置为对象的实例”。当我尝试访问数据并将其插入表单上的列表框时出错。
编辑: SQL 查询成功完成,并且 Console.WriteLine 使用正确的数据正确输出到输出窗口。
static void LoadServers()
{
DeployerConsole DC = (DeployerConsole)Application.OpenForms["DeployerConsole"];
//DeployerConsole DC = new DeployerConsole();
SqlConnection myConnection = new SqlConnection("server=XXX; database=XXX; uid=XXX; pwd=XXX;Integrated Security=true;Connection Lifetime=5;Trusted_Connection=yes;");
myConnection.Open();
DataSet ds = new DataSet();
SqlCommand myCommand = new SqlCommand("SELECT ServerName FROM DeployServers", myConnection);
SqlDataAdapter adapter = new SqlDataAdapter(myCommand);
adapter.Fill(ds);
DataTable dt = ds.Tables[0];
foreach (DataRow dr in dt.Rows)
{
DC.listBox1.Items.Add(dr["ServerName"].ToString());
Console.WriteLine(dr["ServerName"].ToString());
}
}
编辑:添加截图
有人对我做错了什么有任何建议或提供指导吗?
编辑(回答):好吧,我将代码从类移到了表单中。现在访问 listBox 没有问题。但是,我仍然想知道这个问题的解决方案。