C# comboBox停止显示SQL表
我以前的代码,从数据库中提取表,突然没有显示在我的组合框中。通过组合框可以看到,正在提取数据,但项目不可见。如下图所示: 这是我拉表的代码:C# comboBox停止显示SQL表,c#,sql-server,winforms,C#,Sql Server,Winforms,我以前的代码,从数据库中提取表,突然没有显示在我的组合框中。通过组合框可以看到,正在提取数据,但项目不可见。如下图所示: 这是我拉表的代码: private void fillOutputFile() { try { string connectionString = "Data Source=bid;Initial Catalog=BI;Integrated Security=True"; using
private void fillOutputFile()
{
try
{
string connectionString = "Data Source=bid;Initial Catalog=BI;Integrated Security=True";
using (SqlConnection con2 = new SqlConnection(connectionString))
{
con2.Open();
string query = "Select table_name from INFORMATION_SCHEMA.columns";
SqlCommand cmd2 = new SqlCommand(query, con2);
SqlDataReader dr2 = cmd2.ExecuteReader();
while (dr2.Read())
{
int col = dr2.GetOrdinal("TABLE_NAME");
comboBox5.Items.Add(dr2[col].ToString());
// con2.Close();
}
}
}
catch (Exception ex)
{
MessageBox.Show("Your Windows Credentials does not have the rights to access/write to this table./nPlease contact your DB Administrator");
}
}
检查组合框的
DrawMode
属性,确保未将其设置为OwnerDrawFixed
或OwnerDrawVariable
。您需要将其设置为Normal
将其设置为OwnerDrawFixed
或OwnerDrawVariable
会导致以下情况:
我知道这可能看起来很奇怪,但实际上可能有效。将项目复制到电脑上的其他位置。完成此操作后,删除旧项目。将新项目复制到以前删除的项目所在的位置。打开VS并再次尝试调试复制的项目。它可能会工作调试代码并查看查询返回记录,或者不验证您是否正在访问正确的数据库。除此之外,你的代码看起来还不错,我真不敢相信这真的管用。知道这是为什么吗?@AdamNewman我想可能是目录被某种方式破坏了?我不确定,我过去只是在胡闹,结果成功了