2009-05-22 9 views
0

je tente de tirer des données à partir d'une base de données SQLite afin que je puisse remplir un GridView dans mon interface graphique: voici le code qui renvoie le DataTable:SQLiteDataAdapter ne remplit pas spécifié DataTable

DataTable table = new DataTable(); 

SQLiteDataAdapter adapter = new SQLiteDataAdapter(this.command.CommandText, this.connection); 
adapter.Fill(table); 

return table; 

Pour Une raison quelconque après avoir appelé adapter.Fill, le DataTable n'est toujours pas rempli avec quoi que ce soit. Jusqu'à présent, j'ai vérifié que le texte de la commande est correct et que la connexion contient la chaîne de connexion correcte. Les deux sont utilisés avec succès dans d'autres parties de l'application. Aucune exception ne semble être lancée ... Y a-t-il d'autres endroits où je devrais chercher des ennuis? Est-ce que j'utilise l'API incorrectement?

Merci!

Répondre

1

Cela ressemble à une utilisation correcte.

Une chose à vérifier - après le remplissage, vous dites que le datatable n'est pas rempli. Étiez-vous juste en train de vérifier Rows.Count? Qu'en est-il des colonnes? Si le remplissage crée des colonnes pour correspondre à votre instruction SELECT, mais qu'il n'y a aucune ligne, alors vous savez que le code fonctionne mais il y a un problème avec votre requête, ou vous ne frappez pas la même base de données que vous pensez.

+0

Eh bien, je serai damné. Le DataTable IS étant rempli, je ne regardais pas les bons membres dans le QuickWatch: Les colonnes étaient correctement chargées et un certain nombre de lignes étaient retournées. Cela ne résout pas vraiment mon problème sous-jacent mais votre conseil m'a conduit à comprendre les problèmes qui se trouvent ailleurs. –

+0

@sweeny quel était le problème réel? Je reçois des erreurs similaires, donc s'il est résolu s'il vous plaît veuillez nous le faire savoir. – Kiril

0

Existe-t-il un constructeur qui vous permet de passer directement la commande?

+0

Il n'existe aucun constructeur de ce type pour DataTable ou DataGridView. Est-ce que c'est ce que vous vouliez dire? –

+0

Je devine qu'il veut dire au constructeur d'adaptateur. – CSharpAtl

+0

Le constructeur de l'adaptateur consomme directement la commande. C'est le premier argument. –