user2404633
user2404633

Reputation: 91

Display tables from SQL in DataGridView

I created a DataBase named charityah containing 5 tables. Their names are listed in a combobox.

When I choose one of them I want to display their content in a DataGridView.

What I tried is: first I linked the DataGridView to this database and tried this code that I found:

SqlConnection connection = new SqlConnection();

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    string s = comboBox1.Text;

    connection.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Downloads\charityah.mdf;Integrated Security=True";

    using (connection)
    {
        connection.Open();
        SqlDataAdapter adapter = new SqlDataAdapter("select * from "+s, connection);
        DataSet ds = new DataSet();
        adapter.Fill(ds, s);
        dataGridView1.DataSource = ds.Tables[0];
        dataGridView1.Refresh();   
    }
}

This method doesn't give me any errors and it finds the tables, but nothing is seen in the DataGridView.

Upvotes: 1

Views: 9106

Answers (2)

Qasim Javaid Khan
Qasim Javaid Khan

Reputation: 660

try this, some times nonsense items do create a lot of mess. so try setting autogenerate columns to true. may this starts showing you the results. because as per your comments, it dosent seems there could be any other issue. so just give it a try dataGridView1.AutoGenerateColumns = true;

Upvotes: 0

Marc Gravell
Marc Gravell

Reputation: 1064184

Since you report (comments) that there are rows, it sounds like the primary problem (connection disposal aside) is an issue with data-binding. A few thoughts leap to mind:

  • is the table in virtual mode?
  • is it adding columns?
  • do the columns already exist?

You might want to try adding:

dataGridView1.VirtualMode = false;
dataGridView1.Columns.Clear();
dataGridView1.AutoGenerateColumns = true;

before the:

dataGridView1.DataSource = ds.Tables[0];

You might also want to check that dataGridView1.DataMember doesn't have a value assigned.

Upvotes: 1

Related Questions