Remplir un datagridview avec les résultats de la requête sql
Je suis en train de présenter les résultats de la requête, mais je reçois un vide de grille de données.
C'est comme les données ne sont pas visibles
Voici mon code:
private void Employee_Report_Load(object sender, EventArgs e)
{
string select = "SELECT * FROM tblEmployee";
Connection c = new Connection();
SqlDataAdapter dataAdapter = new SqlDataAdapter(select, c.con); //c.con is the connection string
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);
bindingSource1.DataSource = table;
dataGridView1.ReadOnly = true;
dataGridView1.DataSource = bindingSource1;
}
Quel est le problème avec ce code?
- Lier les données dans dataGridView
Vous devez vous connecter pour publier un commentaire.
Voici votre code fixe en place. Prochaine oublier bindingsource
DataTable
pas de problème. Ne pas besoin d'unDataSet
.DataSet
est une charge supplémentaire pour aucune utilisation de bon.SqlServerCe
pasSqlServer
. Il pourrait être source de confusion.Vous n'avez pas besoin
bindingSource1
Juste mis
dataGridView1.DataSource = table;
Essayer de liaison de votre
DataGridView
à laDefaultView
de laDataTable
:Vous pouvez obtenir un vide de grille de données si vous définissez la Source de données à une base de données que vous avez ajouté à la forme mais n'est pas utilisé. Définir cette option sur Aucun si vous êtes en programmant le réglage de votre source de données basée sur les codes ci-dessus.
Vous pouvez essayer cet exemple, et de toujours vérifier votre Chaîne de Connexion, vous pouvez utiliser cet exemple avec ou sans bindingsource vous pouvez charger les données à datagridview.
vous devez ajouter la propriété des Tables à la DataGridView Source de Données
si vous utilisez mysql ce code, vous pouvez utiliser.