1)
Sur mon formulaire je met une SqlConnection, puis un SqlDataAdapter et
finalement un Dataset ton fonctionne parfaitement quand je travaille sur une
seule table.
Mon problème c'est lorsque dans mon SqlDataAdapter j'ai défini une table
avec plusieurs relations et donc des alias, il n'y a pas moyen que les
procédures update, insert et delete se construisent.
Voilà un exemple light de ma requête
SELECT T_affiche.*, T_liste_affiche.hauteur_affiche AS Haut,
T_liste_affiche.largeur_affiche AS Larg
FROM T_affiche INNER JOIN
T_liste_affiche ON T_affiche.num_dimension_affiche =
T_liste_affiche.num_dimension_affiche
Elle s'exécute bien !!
Mes deux tables ont des clefs primaires et les types de données sont
corrects.
Le message d'erreur pour les procédures : La requête d'origine a une liste
de sélection qui contient des colonnes de plusieurs tables. L'instruction ne
peut pas être générée automatiquement pour ce genre de requête.
Cela veut il dire que je doit absolument utiliser des procédures stockées et
les faire moi même ?
Si oui y a t'il un assistant pour aider à leur rédaction pour aller plus
vite car j'ai pas mal de traitement à faire !
2)
Je souhaiterais avoir des infos afin de bine comprendre le dataset et le
dataset typé et le dataview le meilleur moment ou utiliser l'un ou l'autre,
les problèmes d'utilisation de l'un ou l'autre.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
évite le multi postage !!!
l'usage de l'étoile est à proscrire pour l'exploitation des requêtes.
En l'occurence dans ce cas précis, il conduit à l'erreur, car des colonnes de différentes table ayant le même nom conduisent à une ambiguité.
Il faut donc : 1) spécifier littéralement TOUTES les colonnes 2) lorsque deux (ou plusieurs) colonnes ont le même nom, faire usage d'un surnom en utilisant le mot clef AS.
A lire : http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_as
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
LOIC a écrit:
Bonjour,
VB.NET
1) Sur mon formulaire je met une SqlConnection, puis un SqlDataAdapter et finalement un Dataset ton fonctionne parfaitement quand je travaille sur une seule table.
Mon problème c'est lorsque dans mon SqlDataAdapter j'ai défini une table avec plusieurs relations et donc des alias, il n'y a pas moyen que les procédures update, insert et delete se construisent.
Voilà un exemple light de ma requête
SELECT T_affiche.*, T_liste_affiche.hauteur_affiche AS Haut, T_liste_affiche.largeur_affiche AS Larg FROM T_affiche INNER JOIN T_liste_affiche ON T_affiche.num_dimension_affiche > T_liste_affiche.num_dimension_affiche
Elle s'exécute bien !!
Mes deux tables ont des clefs primaires et les types de données sont corrects.
Le message d'erreur pour les procédures : La requête d'origine a une liste de sélection qui contient des colonnes de plusieurs tables. L'instruction ne peut pas être générée automatiquement pour ce genre de requête.
Cela veut il dire que je doit absolument utiliser des procédures stockées et les faire moi même ?
Si oui y a t'il un assistant pour aider à leur rédaction pour aller plus vite car j'ai pas mal de traitement à faire !
2) Je souhaiterais avoir des infos afin de bine comprendre le dataset et le dataset typé et le dataview le meilleur moment ou utiliser l'un ou l'autre, les problèmes d'utilisation de l'un ou l'autre.
Merci
évite le multi postage !!!
l'usage de l'étoile est à proscrire pour l'exploitation des requêtes.
En l'occurence dans ce cas précis, il conduit à l'erreur, car des colonnes de
différentes table ayant le même nom conduisent à une ambiguité.
Il faut donc :
1) spécifier littéralement TOUTES les colonnes
2) lorsque deux (ou plusieurs) colonnes ont le même nom, faire usage d'un surnom
en utilisant le mot clef AS.
A lire :
http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_as
A +
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
LOIC a écrit:
Bonjour,
VB.NET
1)
Sur mon formulaire je met une SqlConnection, puis un SqlDataAdapter et
finalement un Dataset ton fonctionne parfaitement quand je travaille sur une
seule table.
Mon problème c'est lorsque dans mon SqlDataAdapter j'ai défini une table
avec plusieurs relations et donc des alias, il n'y a pas moyen que les
procédures update, insert et delete se construisent.
Voilà un exemple light de ma requête
SELECT T_affiche.*, T_liste_affiche.hauteur_affiche AS Haut,
T_liste_affiche.largeur_affiche AS Larg
FROM T_affiche INNER JOIN
T_liste_affiche ON T_affiche.num_dimension_affiche > T_liste_affiche.num_dimension_affiche
Elle s'exécute bien !!
Mes deux tables ont des clefs primaires et les types de données sont
corrects.
Le message d'erreur pour les procédures : La requête d'origine a une liste
de sélection qui contient des colonnes de plusieurs tables. L'instruction ne
peut pas être générée automatiquement pour ce genre de requête.
Cela veut il dire que je doit absolument utiliser des procédures stockées et
les faire moi même ?
Si oui y a t'il un assistant pour aider à leur rédaction pour aller plus
vite car j'ai pas mal de traitement à faire !
2)
Je souhaiterais avoir des infos afin de bine comprendre le dataset et le
dataset typé et le dataview le meilleur moment ou utiliser l'un ou l'autre,
les problèmes d'utilisation de l'un ou l'autre.
l'usage de l'étoile est à proscrire pour l'exploitation des requêtes.
En l'occurence dans ce cas précis, il conduit à l'erreur, car des colonnes de différentes table ayant le même nom conduisent à une ambiguité.
Il faut donc : 1) spécifier littéralement TOUTES les colonnes 2) lorsque deux (ou plusieurs) colonnes ont le même nom, faire usage d'un surnom en utilisant le mot clef AS.
A lire : http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_as
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
LOIC a écrit:
Bonjour,
VB.NET
1) Sur mon formulaire je met une SqlConnection, puis un SqlDataAdapter et finalement un Dataset ton fonctionne parfaitement quand je travaille sur une seule table.
Mon problème c'est lorsque dans mon SqlDataAdapter j'ai défini une table avec plusieurs relations et donc des alias, il n'y a pas moyen que les procédures update, insert et delete se construisent.
Voilà un exemple light de ma requête
SELECT T_affiche.*, T_liste_affiche.hauteur_affiche AS Haut, T_liste_affiche.largeur_affiche AS Larg FROM T_affiche INNER JOIN T_liste_affiche ON T_affiche.num_dimension_affiche > T_liste_affiche.num_dimension_affiche
Elle s'exécute bien !!
Mes deux tables ont des clefs primaires et les types de données sont corrects.
Le message d'erreur pour les procédures : La requête d'origine a une liste de sélection qui contient des colonnes de plusieurs tables. L'instruction ne peut pas être générée automatiquement pour ce genre de requête.
Cela veut il dire que je doit absolument utiliser des procédures stockées et les faire moi même ?
Si oui y a t'il un assistant pour aider à leur rédaction pour aller plus vite car j'ai pas mal de traitement à faire !
2) Je souhaiterais avoir des infos afin de bine comprendre le dataset et le dataset typé et le dataview le meilleur moment ou utiliser l'un ou l'autre, les problèmes d'utilisation de l'un ou l'autre.
Merci
LOIC
J'avais déjà essayé en spécifiant les colonnes et donc j'ai refait une autre requête sur quelques données mais toujours avec une table liée et j'ai toujours le même problème, la génération de l'update insert et delete ne se fait pas donc je voudrais savoir si le problème n'est pas tout simplement que l'assistant configurateur ne le permette pas et oblige la création de procédure stockées.
La requête que j'ai refaite et qui s'exécute bien mais pose souscis avec l'assistant !!
SELECT T_affiche.num_affiche, T_affiche.titre_original, T_affiche.num_dimension_affiche, T_liste_affiche.num_dimension_affiche AS Expr1, T_liste_affiche.hauteur_affiche AS haut, T_liste_affiche.largeur_affiche AS larg FROM T_affiche INNER JOIN T_liste_affiche ON T_affiche.num_dimension_affiche T_liste_affiche.num_dimension_affiche
"Fred BROUARD" a écrit dans le message de news:
évite le multi postage !!!
l'usage de l'étoile est à proscrire pour l'exploitation des requêtes.
En l'occurence dans ce cas précis, il conduit à l'erreur, car des colonnes
de
différentes table ayant le même nom conduisent à une ambiguité.
Il faut donc : 1) spécifier littéralement TOUTES les colonnes 2) lorsque deux (ou plusieurs) colonnes ont le même nom, faire usage d'un
surnom
en utilisant le mot clef AS.
A lire : http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_as
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
LOIC a écrit: > Bonjour, > > VB.NET > > 1) > Sur mon formulaire je met une SqlConnection, puis un SqlDataAdapter et > finalement un Dataset ton fonctionne parfaitement quand je travaille sur
une
> seule table. > > Mon problème c'est lorsque dans mon SqlDataAdapter j'ai défini une table > avec plusieurs relations et donc des alias, il n'y a pas moyen que les > procédures update, insert et delete se construisent. > > Voilà un exemple light de ma requête > > SELECT T_affiche.*, T_liste_affiche.hauteur_affiche AS Haut, > T_liste_affiche.largeur_affiche AS Larg > FROM T_affiche INNER JOIN > T_liste_affiche ON T_affiche.num_dimension_affiche
> > T_liste_affiche.num_dimension_affiche
> > Elle s'exécute bien !! > > Mes deux tables ont des clefs primaires et les types de données sont > corrects. > > Le message d'erreur pour les procédures : La requête d'origine a une
liste
> de sélection qui contient des colonnes de plusieurs tables.
L'instruction ne
> peut pas être générée automatiquement pour ce genre de requête. > > Cela veut il dire que je doit absolument utiliser des procédures
stockées et
> les faire moi même ? > > Si oui y a t'il un assistant pour aider à leur rédaction pour aller plus > vite car j'ai pas mal de traitement à faire ! > > > 2) > Je souhaiterais avoir des infos afin de bine comprendre le dataset et le > dataset typé et le dataview le meilleur moment ou utiliser l'un ou
l'autre,
> les problèmes d'utilisation de l'un ou l'autre. > > Merci > >
J'avais déjà essayé en spécifiant les colonnes et donc j'ai refait une autre
requête sur quelques données mais toujours avec une table liée et j'ai
toujours le même problème, la génération de l'update insert et delete ne se
fait pas donc je voudrais savoir si le problème n'est pas tout simplement
que l'assistant configurateur ne le permette pas et oblige la création de
procédure stockées.
La requête que j'ai refaite et qui s'exécute bien mais pose souscis avec
l'assistant !!
SELECT
T_affiche.num_affiche,
T_affiche.titre_original,
T_affiche.num_dimension_affiche,
T_liste_affiche.num_dimension_affiche AS Expr1,
T_liste_affiche.hauteur_affiche AS haut,
T_liste_affiche.largeur_affiche AS larg
FROM
T_affiche INNER
JOIN
T_liste_affiche ON
T_affiche.num_dimension_affiche T_liste_affiche.num_dimension_affiche
"Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de
news:4146B0A0.5000906@club-internet.fr...
évite le multi postage !!!
l'usage de l'étoile est à proscrire pour l'exploitation des requêtes.
En l'occurence dans ce cas précis, il conduit à l'erreur, car des colonnes
de
différentes table ayant le même nom conduisent à une ambiguité.
Il faut donc :
1) spécifier littéralement TOUTES les colonnes
2) lorsque deux (ou plusieurs) colonnes ont le même nom, faire usage d'un
surnom
en utilisant le mot clef AS.
A lire :
http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_as
A +
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
LOIC a écrit:
> Bonjour,
>
> VB.NET
>
> 1)
> Sur mon formulaire je met une SqlConnection, puis un SqlDataAdapter et
> finalement un Dataset ton fonctionne parfaitement quand je travaille sur
une
> seule table.
>
> Mon problème c'est lorsque dans mon SqlDataAdapter j'ai défini une table
> avec plusieurs relations et donc des alias, il n'y a pas moyen que les
> procédures update, insert et delete se construisent.
>
> Voilà un exemple light de ma requête
>
> SELECT T_affiche.*, T_liste_affiche.hauteur_affiche AS Haut,
> T_liste_affiche.largeur_affiche AS Larg
> FROM T_affiche INNER JOIN
> T_liste_affiche ON T_affiche.num_dimension_affiche
> > T_liste_affiche.num_dimension_affiche
>
> Elle s'exécute bien !!
>
> Mes deux tables ont des clefs primaires et les types de données sont
> corrects.
>
> Le message d'erreur pour les procédures : La requête d'origine a une
liste
> de sélection qui contient des colonnes de plusieurs tables.
L'instruction ne
> peut pas être générée automatiquement pour ce genre de requête.
>
> Cela veut il dire que je doit absolument utiliser des procédures
stockées et
> les faire moi même ?
>
> Si oui y a t'il un assistant pour aider à leur rédaction pour aller plus
> vite car j'ai pas mal de traitement à faire !
>
>
> 2)
> Je souhaiterais avoir des infos afin de bine comprendre le dataset et le
> dataset typé et le dataview le meilleur moment ou utiliser l'un ou
l'autre,
> les problèmes d'utilisation de l'un ou l'autre.
>
> Merci
>
>
J'avais déjà essayé en spécifiant les colonnes et donc j'ai refait une autre requête sur quelques données mais toujours avec une table liée et j'ai toujours le même problème, la génération de l'update insert et delete ne se fait pas donc je voudrais savoir si le problème n'est pas tout simplement que l'assistant configurateur ne le permette pas et oblige la création de procédure stockées.
La requête que j'ai refaite et qui s'exécute bien mais pose souscis avec l'assistant !!
SELECT T_affiche.num_affiche, T_affiche.titre_original, T_affiche.num_dimension_affiche, T_liste_affiche.num_dimension_affiche AS Expr1, T_liste_affiche.hauteur_affiche AS haut, T_liste_affiche.largeur_affiche AS larg FROM T_affiche INNER JOIN T_liste_affiche ON T_affiche.num_dimension_affiche T_liste_affiche.num_dimension_affiche
"Fred BROUARD" a écrit dans le message de news:
évite le multi postage !!!
l'usage de l'étoile est à proscrire pour l'exploitation des requêtes.
En l'occurence dans ce cas précis, il conduit à l'erreur, car des colonnes
de
différentes table ayant le même nom conduisent à une ambiguité.
Il faut donc : 1) spécifier littéralement TOUTES les colonnes 2) lorsque deux (ou plusieurs) colonnes ont le même nom, faire usage d'un
surnom
en utilisant le mot clef AS.
A lire : http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_as
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
LOIC a écrit: > Bonjour, > > VB.NET > > 1) > Sur mon formulaire je met une SqlConnection, puis un SqlDataAdapter et > finalement un Dataset ton fonctionne parfaitement quand je travaille sur
une
> seule table. > > Mon problème c'est lorsque dans mon SqlDataAdapter j'ai défini une table > avec plusieurs relations et donc des alias, il n'y a pas moyen que les > procédures update, insert et delete se construisent. > > Voilà un exemple light de ma requête > > SELECT T_affiche.*, T_liste_affiche.hauteur_affiche AS Haut, > T_liste_affiche.largeur_affiche AS Larg > FROM T_affiche INNER JOIN > T_liste_affiche ON T_affiche.num_dimension_affiche
> > T_liste_affiche.num_dimension_affiche
> > Elle s'exécute bien !! > > Mes deux tables ont des clefs primaires et les types de données sont > corrects. > > Le message d'erreur pour les procédures : La requête d'origine a une
liste
> de sélection qui contient des colonnes de plusieurs tables.
L'instruction ne
> peut pas être générée automatiquement pour ce genre de requête. > > Cela veut il dire que je doit absolument utiliser des procédures
stockées et
> les faire moi même ? > > Si oui y a t'il un assistant pour aider à leur rédaction pour aller plus > vite car j'ai pas mal de traitement à faire ! > > > 2) > Je souhaiterais avoir des infos afin de bine comprendre le dataset et le > dataset typé et le dataview le meilleur moment ou utiliser l'un ou
l'autre,
> les problèmes d'utilisation de l'un ou l'autre. > > Merci > >
RABILLOUD JMARC [MVP]
Bonsoir,
1) Tu as deux solutions. Tu utilises un seul DataAdapter qui remplit une DataTable. Dans ce cas tu dois créer les procédures stockées correspondantes. En faisant bien attention car selon les cas on agit d'abord sur la table Enfant puis sur la table parent, soit l'inverse (pour éviter des cascades malencontreuses. Tu met tes deux tables dans ton dataset en utilisant deux DataAdapter. Dans ce cas chaque dataadapter saura générer ses requêtes. Il conviendra tout de même à faire attention dans l'ordre des appels Update.
2) A lire sur le sujet http://dotnet.developpez.com/cours/ADO.NET/
Bonsoir,
1) Tu as deux solutions. Tu utilises un seul DataAdapter qui remplit une
DataTable. Dans ce cas tu dois créer les procédures stockées
correspondantes. En faisant bien attention car selon les cas on agit d'abord
sur la table Enfant puis sur la table parent, soit l'inverse (pour éviter
des cascades malencontreuses.
Tu met tes deux tables dans ton dataset en utilisant deux DataAdapter. Dans
ce cas chaque dataadapter saura générer ses requêtes. Il conviendra tout de
même à faire attention dans l'ordre des appels Update.
2)
A lire sur le sujet
http://dotnet.developpez.com/cours/ADO.NET/
1) Tu as deux solutions. Tu utilises un seul DataAdapter qui remplit une DataTable. Dans ce cas tu dois créer les procédures stockées correspondantes. En faisant bien attention car selon les cas on agit d'abord sur la table Enfant puis sur la table parent, soit l'inverse (pour éviter des cascades malencontreuses. Tu met tes deux tables dans ton dataset en utilisant deux DataAdapter. Dans ce cas chaque dataadapter saura générer ses requêtes. Il conviendra tout de même à faire attention dans l'ordre des appels Update.
2) A lire sur le sujet http://dotnet.developpez.com/cours/ADO.NET/
diggingbill
> Si oui y a t'il un assistant pour aider à leur rédaction pour aller plus vite car j'ai pas mal de traitement à faire !
Vas à cette adresse et télécharge un outil nommé OlyMars http://blogs.msdn.com/olymars/
Tu as les explications ici : http://www.microsoft.com/france/msdn/technologies/outils/Olymars/default.asp?lang=fr
Avec cela tu vas booster ton développement su .NET ; jettes un coup d'oeil sur les procédures stockées générées et inspires-t'en pour écrire les tiennes. Et enfin, achete le livre de Fred BROUARD, il va t'aider à comprendre pourquoi tu dois faire certaines choses d'une certaine manière et pas autrement. Espérant t'avoir aidé digging !
>
Si oui y a t'il un assistant pour aider à leur rédaction pour aller plus
vite car j'ai pas mal de traitement à faire !
Vas à cette adresse et télécharge un outil nommé OlyMars
http://blogs.msdn.com/olymars/
Tu as les explications ici :
http://www.microsoft.com/france/msdn/technologies/outils/Olymars/default.asp?lang=fr
Avec cela tu vas booster ton développement su .NET ; jettes un coup d'oeil
sur les procédures stockées générées et inspires-t'en pour écrire les
tiennes.
Et enfin, achete le livre de Fred BROUARD, il va t'aider à comprendre
pourquoi tu dois faire certaines choses d'une certaine manière et pas
autrement.
Espérant t'avoir aidé
digging !
> Si oui y a t'il un assistant pour aider à leur rédaction pour aller plus vite car j'ai pas mal de traitement à faire !
Vas à cette adresse et télécharge un outil nommé OlyMars http://blogs.msdn.com/olymars/
Tu as les explications ici : http://www.microsoft.com/france/msdn/technologies/outils/Olymars/default.asp?lang=fr
Avec cela tu vas booster ton développement su .NET ; jettes un coup d'oeil sur les procédures stockées générées et inspires-t'en pour écrire les tiennes. Et enfin, achete le livre de Fred BROUARD, il va t'aider à comprendre pourquoi tu dois faire certaines choses d'une certaine manière et pas autrement. Espérant t'avoir aidé digging !
LOIC
Un grand merci je vais voir tout cela très attentivement
"diggingbill" a écrit dans le message de news:%
> > Si oui y a t'il un assistant pour aider à leur rédaction pour aller plus > vite car j'ai pas mal de traitement à faire ! >
Vas à cette adresse et télécharge un outil nommé OlyMars http://blogs.msdn.com/olymars/
Avec cela tu vas booster ton développement su .NET ; jettes un coup d'oeil sur les procédures stockées générées et inspires-t'en pour écrire les tiennes. Et enfin, achete le livre de Fred BROUARD, il va t'aider à comprendre pourquoi tu dois faire certaines choses d'une certaine manière et pas autrement. Espérant t'avoir aidé digging !
Un grand merci je vais voir tout cela très attentivement
"diggingbill" <noah.guillaume@wanadoo.nospam> a écrit dans le message de
news:%23y03Cb9mEHA.2864@tk2msftngp13.phx.gbl...
>
> Si oui y a t'il un assistant pour aider à leur rédaction pour aller plus
> vite car j'ai pas mal de traitement à faire !
>
Vas à cette adresse et télécharge un outil nommé OlyMars
http://blogs.msdn.com/olymars/
Avec cela tu vas booster ton développement su .NET ; jettes un coup d'oeil
sur les procédures stockées générées et inspires-t'en pour écrire les
tiennes.
Et enfin, achete le livre de Fred BROUARD, il va t'aider à comprendre
pourquoi tu dois faire certaines choses d'une certaine manière et pas
autrement.
Espérant t'avoir aidé
digging !
Avec cela tu vas booster ton développement su .NET ; jettes un coup d'oeil sur les procédures stockées générées et inspires-t'en pour écrire les tiennes. Et enfin, achete le livre de Fred BROUARD, il va t'aider à comprendre pourquoi tu dois faire certaines choses d'une certaine manière et pas autrement. Espérant t'avoir aidé digging !