SELECT DISTINCT dans DataView est RowFilter
Je suis en train d'affiner les lignes qui sont dans mon DataView basé sur une relation avec une autre table, et RowFilter que j'utilise est comme suit;
dv = new DataView(myDS.myTable,
"id IN (SELECT DISTINCT parentID FROM myOtherTable)",
"name asc",
DataViewRowState.CurrentRows);
"matable" et "myOther" table sont liés par des myTable.ID et myOtherTable.parentID, et donc l'idée c'est que le DataView ne doit contenir que des lignes de "matable" qui ont un enfant de lignes dans "myOtherTable".
Malheureusement, j'obtiens cette erreur;
Erreur de syntaxe: opérande Manquant après
'DISTINCT' opérateur.
Le SQL est bien que je suis conscient, alors je me demandais est-il une limitation sur l'utilisation du mot clé DISTINCT dans le cadre de RowFilter SQL? Quelqu'un a une idée?
OriginalL'auteur Christopher McAtackney | 2009-03-02
Vous devez vous connecter pour publier un commentaire.
Malheureusement, je ne pense pas que vous pouvez effectuer une sous-requête dans un DataView l'expression de filtre. Vous êtes uniquement autorisé à utiliser un sous-ensemble de SQL dans certaines expressions (documenté ici).
Vous aurez probablement besoin pour effectuer vos sous-requête (
SELECT DISTINCT parentID FROM myOtherTable
) séparément.Cet article décrit le problème et une solution possible.
OriginalL'auteur Matt Peterson
Malheureusement, vous ne pouvez pas le faire de cette façon, comme le RowFilter propriété ne prend pas en charge le mot clé distinct. Voici une liste des expressions que vous pouvez effectuer dans un RowFilter (qui est juste un DataColumn Expression): http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression.aspx
DataViews ont un ToTable méthode, et plusieurs surcharges de prendre un booléen pour indiquer si vous souhaitez retourner uniquement les lignes distinctes.
Voici une méthode: http://msdn.microsoft.com/en-us/library/wec2b2e6.aspx
Voici comment vous pouvez l'utiliser:
DataTable newDataTable = myDataView.ToTable( true, [tableau des noms de colonnes comme des chaînes de caractères] );
OriginalL'auteur DarrellNorton
OriginalL'auteur Arunv.innovaminds
le code suivant est l'extraction de valeurs distinctes/enregistrements d'une table/dataview, à savoir(PROD_DESP_TRN) ayant de champ(CONTAINER_NO)
Enfin, ce code est de remplir un combobox(cmbContainerNo) avec des valeurs uniques/dossiers
Au Niveau Du Formulaire De Déclaration:
OriginalL'auteur Arshed Mahmood
Essayez juste de quitter le "DISTINCT". Dans ce cas, le résultat devrait être le même avec ou sans. Dépannage à partir de là.
OriginalL'auteur Mark A Johnson