[C#] Requête TableAdapter
Bonjour,
Nouveau jour, nouveau problème =)
J'ai une requête dans mon TableAdapter qui renvoie plusieurs lignes.
=>
SELECT Num_dossier FROM dossier where Id_mnemonique = @Id_rue
<=
J'aimerais savoir comment il est possible de récupérer ces données dans une variable. Il faut que ça soit un string?un tableau? une datatable?...
Voila le code que j'ai pour le moment :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| int ID_rue;
int NB_dossier;
int ID_prefixe;
string Leprefixe;
DataTable LeDossier;
int i;
LeDossier = new DataTable();
// Trouve l'ID de la rue
ID_rue = Convert.ToInt32(mnemoniqueTableAdapter.Find_Rue(libelle_mnemoniqueComboBox.Text));
MessageBox.Show(ID_rue.ToString()); ==> OK
// Trouve le nombre de dossier en rapport avec cette rue
NB_dossier = Convert.ToInt32(dossierTableAdapter.Search_Nb_dossier(ID_rue));
MessageBox.Show(NB_dossier.ToString()); ==> OK
// Trouve les Numéros de dossier en rapport avec la rue
LeDossier = dossierTableAdapter.DatatableNum_dossier(ID_rue); ==> Erreur (C'est la ou il y a ma requête qui me renvoie plusieurs lignes)
// Trouve l'Id du préfixe en fonction dossier
ID_prefixe = Convert.ToInt32(dossierTableAdapter.Find_Id_prefixe(LeDossier.ToString()));
// Trouve le libellé du préfixe en rapport avec la rue
Leprefixe = Convert.ToString(prefixe_mnemoniqueTableAdapter.Find_Libelle(ID_prefixe));
for (i = 0; i < NB_dossier; i++)
{
dataGridView1.Rows.Add(Leprefixe, libelle_mnemoniqueComboBox.Text, LeDossier);
} |
Voici le message d'erreur :
Citation:
Impossible d'activer les contraintes. Une ou plusieurs lignes contiennent des valeurs qui violent les contraintes de type non null, unique ou de clé externe.
check les datas de la base
cela veut dire que normalement que tous les enregistrements ne respectent pas les contraintes définies par le concepteur de la base. Dans ton cas je pense que la colonne "Id_mnemonique " est un excellent candidat (mais toutes les autres sont également candidates) pour cette violation. Vas donc dans ta base, recense les enregistrements pour lesquels la valeur de la colonne est "NULL" et si tu as les droits, mais des valeurs par défaut (différentes de NULL) en tout cas. Si t'as pas les droits, tu seras obligé de coder plus sérieusement.