Bonjour,
Deuxième envoi...
je ne trouve pas de solution.
je souhaite mettre à jour une ligne dans une table et cette ligne
contient une reference externe vers une autre table dans un champ de
type int.
C'est ce champ que je ne parviens pas à mettre à NULL afin de
supprimer la référence.
Il est possible d'affecter une valeur à ce champ, mais une fois
affectée, on ne peut plus revenir à NULL...
Je passe comme expliqué ci-dessous par un data adapter, un dataset et
une datarow.
Soit une data row d'une table dans un data adapter, je ne parviens
pas à mettre à null (Ûnull) un champ de cette ligne, le champ
"ville".
La lecture à partir de la base de données d'un champ null ne provoque
pas d'erreur et est bien remontée dans l'interface. De plus, la mise
à jour du champ à une valeur non null se fait correctement.
Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
valeur du champ "ville" de la data row est forcée à
system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
l'enregistrement du data adapter (da.update), la modification n'est
pas retranscrite dans la base de données et aucune erreur n'est
signalée concernant la mise à jour.
La commande update du data adapter a été mise à jour, les changements
dans la data row ont été acceptés.
Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
pas de résultat non plus...
Merci d'avance.
Cordialement.
Pierre.
Bonjour,
Deuxième envoi...
je ne trouve pas de solution.
je souhaite mettre à jour une ligne dans une table et cette ligne
contient une reference externe vers une autre table dans un champ de
type int.
C'est ce champ que je ne parviens pas à mettre à NULL afin de
supprimer la référence.
Il est possible d'affecter une valeur à ce champ, mais une fois
affectée, on ne peut plus revenir à NULL...
Je passe comme expliqué ci-dessous par un data adapter, un dataset et
une datarow.
Soit une data row d'une table dans un data adapter, je ne parviens
pas à mettre à null (Ûnull) un champ de cette ligne, le champ
"ville".
La lecture à partir de la base de données d'un champ null ne provoque
pas d'erreur et est bien remontée dans l'interface. De plus, la mise
à jour du champ à une valeur non null se fait correctement.
Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
valeur du champ "ville" de la data row est forcée à
system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
l'enregistrement du data adapter (da.update), la modification n'est
pas retranscrite dans la base de données et aucune erreur n'est
signalée concernant la mise à jour.
La commande update du data adapter a été mise à jour, les changements
dans la data row ont été acceptés.
Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
pas de résultat non plus...
Merci d'avance.
Cordialement.
Pierre.
Bonjour,
Deuxième envoi...
je ne trouve pas de solution.
je souhaite mettre à jour une ligne dans une table et cette ligne
contient une reference externe vers une autre table dans un champ de
type int.
C'est ce champ que je ne parviens pas à mettre à NULL afin de
supprimer la référence.
Il est possible d'affecter une valeur à ce champ, mais une fois
affectée, on ne peut plus revenir à NULL...
Je passe comme expliqué ci-dessous par un data adapter, un dataset et
une datarow.
Soit une data row d'une table dans un data adapter, je ne parviens
pas à mettre à null (Ûnull) un champ de cette ligne, le champ
"ville".
La lecture à partir de la base de données d'un champ null ne provoque
pas d'erreur et est bien remontée dans l'interface. De plus, la mise
à jour du champ à une valeur non null se fait correctement.
Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
valeur du champ "ville" de la data row est forcée à
system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
l'enregistrement du data adapter (da.update), la modification n'est
pas retranscrite dans la base de données et aucune erreur n'est
signalée concernant la mise à jour.
La commande update du data adapter a été mise à jour, les changements
dans la data row ont été acceptés.
Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
pas de résultat non plus...
Merci d'avance.
Cordialement.
Pierre.
Bonjour Pierre,
Tu utilises quel méthode de mise à jour dans la base.
Les requettes ont été généré par le wizard du dataAdapteur ?
J'ai fait le test sur un exemple simple en utilisant le Wizard
Mon code est :
sqlDataAdapter1.Fill(dataSet11);
dataSet11.utilisateurs[0][4] = DBNull.Value;
sqlDataAdapter1.Update(dataSet11);
Ca marche très bien j'ai bien NULL en base.
--
Pierre Lagarde
Microsoft France
Pierre wrote:
> Bonjour,
>
> Deuxième envoi...
> je ne trouve pas de solution.
>
> je souhaite mettre à jour une ligne dans une table et cette ligne
> contient une reference externe vers une autre table dans un champ de
> type int.
> C'est ce champ que je ne parviens pas à mettre à NULL afin de
> supprimer la référence.
> Il est possible d'affecter une valeur à ce champ, mais une fois
> affectée, on ne peut plus revenir à NULL...
>
> Je passe comme expliqué ci-dessous par un data adapter, un dataset et
> une datarow.
>
> Soit une data row d'une table dans un data adapter, je ne parviens
> pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> "ville".
> La lecture à partir de la base de données d'un champ null ne provoque
> pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> à jour du champ à une valeur non null se fait correctement.
> Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
> valeur du champ "ville" de la data row est forcée à
> system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> l'enregistrement du data adapter (da.update), la modification n'est
> pas retranscrite dans la base de données et aucune erreur n'est
> signalée concernant la mise à jour.
>
> La commande update du data adapter a été mise à jour, les changements
> dans la data row ont été acceptés.
>
> Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> pas de résultat non plus...
>
> Merci d'avance.
>
> Cordialement.
>
> Pierre.
Bonjour Pierre,
Tu utilises quel méthode de mise à jour dans la base.
Les requettes ont été généré par le wizard du dataAdapteur ?
J'ai fait le test sur un exemple simple en utilisant le Wizard
Mon code est :
sqlDataAdapter1.Fill(dataSet11);
dataSet11.utilisateurs[0][4] = DBNull.Value;
sqlDataAdapter1.Update(dataSet11);
Ca marche très bien j'ai bien NULL en base.
--
Pierre Lagarde
Microsoft France
Pierre wrote:
> Bonjour,
>
> Deuxième envoi...
> je ne trouve pas de solution.
>
> je souhaite mettre à jour une ligne dans une table et cette ligne
> contient une reference externe vers une autre table dans un champ de
> type int.
> C'est ce champ que je ne parviens pas à mettre à NULL afin de
> supprimer la référence.
> Il est possible d'affecter une valeur à ce champ, mais une fois
> affectée, on ne peut plus revenir à NULL...
>
> Je passe comme expliqué ci-dessous par un data adapter, un dataset et
> une datarow.
>
> Soit une data row d'une table dans un data adapter, je ne parviens
> pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> "ville".
> La lecture à partir de la base de données d'un champ null ne provoque
> pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> à jour du champ à une valeur non null se fait correctement.
> Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
> valeur du champ "ville" de la data row est forcée à
> system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> l'enregistrement du data adapter (da.update), la modification n'est
> pas retranscrite dans la base de données et aucune erreur n'est
> signalée concernant la mise à jour.
>
> La commande update du data adapter a été mise à jour, les changements
> dans la data row ont été acceptés.
>
> Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> pas de résultat non plus...
>
> Merci d'avance.
>
> Cordialement.
>
> Pierre.
Bonjour Pierre,
Tu utilises quel méthode de mise à jour dans la base.
Les requettes ont été généré par le wizard du dataAdapteur ?
J'ai fait le test sur un exemple simple en utilisant le Wizard
Mon code est :
sqlDataAdapter1.Fill(dataSet11);
dataSet11.utilisateurs[0][4] = DBNull.Value;
sqlDataAdapter1.Update(dataSet11);
Ca marche très bien j'ai bien NULL en base.
--
Pierre Lagarde
Microsoft France
Pierre wrote:
> Bonjour,
>
> Deuxième envoi...
> je ne trouve pas de solution.
>
> je souhaite mettre à jour une ligne dans une table et cette ligne
> contient une reference externe vers une autre table dans un champ de
> type int.
> C'est ce champ que je ne parviens pas à mettre à NULL afin de
> supprimer la référence.
> Il est possible d'affecter une valeur à ce champ, mais une fois
> affectée, on ne peut plus revenir à NULL...
>
> Je passe comme expliqué ci-dessous par un data adapter, un dataset et
> une datarow.
>
> Soit une data row d'une table dans un data adapter, je ne parviens
> pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> "ville".
> La lecture à partir de la base de données d'un champ null ne provoque
> pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> à jour du champ à une valeur non null se fait correctement.
> Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
> valeur du champ "ville" de la data row est forcée à
> system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> l'enregistrement du data adapter (da.update), la modification n'est
> pas retranscrite dans la base de données et aucune erreur n'est
> signalée concernant la mise à jour.
>
> La commande update du data adapter a été mise à jour, les changements
> dans la data row ont été acceptés.
>
> Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> pas de résultat non plus...
>
> Merci d'avance.
>
> Cordialement.
>
> Pierre.
Bonjour Pierre,
Tu utilises quel méthode de mise à jour dans la base.
Les requettes ont été généré par le wizard du dataAdapteur ?
J'ai fait le test sur un exemple simple en utilisant le Wizard
Mon code est :
sqlDataAdapter1.Fill(dataSet11);
dataSet11.utilisateurs[0][4] = DBNull.Value;
sqlDataAdapter1.Update(dataSet11);
Ca marche très bien j'ai bien NULL en base.
--
Pierre Lagarde
Microsoft France
Pierre wrote:
> Bonjour,
>
> Deuxième envoi...
> je ne trouve pas de solution.
>
> je souhaite mettre à jour une ligne dans une table et cette ligne
> contient une reference externe vers une autre table dans un champ de
> type int.
> C'est ce champ que je ne parviens pas à mettre à NULL afin de
> supprimer la référence.
> Il est possible d'affecter une valeur à ce champ, mais une fois
> affectée, on ne peut plus revenir à NULL...
>
> Je passe comme expliqué ci-dessous par un data adapter, un dataset et
> une datarow.
>
> Soit une data row d'une table dans un data adapter, je ne parviens
> pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> "ville".
> La lecture à partir de la base de données d'un champ null ne provoque
> pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> à jour du champ à une valeur non null se fait correctement.
> Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
> valeur du champ "ville" de la data row est forcée à
> system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> l'enregistrement du data adapter (da.update), la modification n'est
> pas retranscrite dans la base de données et aucune erreur n'est
> signalée concernant la mise à jour.
>
> La commande update du data adapter a été mise à jour, les changements
> dans la data row ont été acceptés.
>
> Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> pas de résultat non plus...
>
> Merci d'avance.
>
> Cordialement.
>
> Pierre.
Bonjour Pierre,
Tu utilises quel méthode de mise à jour dans la base.
Les requettes ont été généré par le wizard du dataAdapteur ?
J'ai fait le test sur un exemple simple en utilisant le Wizard
Mon code est :
sqlDataAdapter1.Fill(dataSet11);
dataSet11.utilisateurs[0][4] = DBNull.Value;
sqlDataAdapter1.Update(dataSet11);
Ca marche très bien j'ai bien NULL en base.
--
Pierre Lagarde
Microsoft France
Pierre wrote:
> Bonjour,
>
> Deuxième envoi...
> je ne trouve pas de solution.
>
> je souhaite mettre à jour une ligne dans une table et cette ligne
> contient une reference externe vers une autre table dans un champ de
> type int.
> C'est ce champ que je ne parviens pas à mettre à NULL afin de
> supprimer la référence.
> Il est possible d'affecter une valeur à ce champ, mais une fois
> affectée, on ne peut plus revenir à NULL...
>
> Je passe comme expliqué ci-dessous par un data adapter, un dataset et
> une datarow.
>
> Soit une data row d'une table dans un data adapter, je ne parviens
> pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> "ville".
> La lecture à partir de la base de données d'un champ null ne provoque
> pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> à jour du champ à une valeur non null se fait correctement.
> Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
> valeur du champ "ville" de la data row est forcée à
> system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> l'enregistrement du data adapter (da.update), la modification n'est
> pas retranscrite dans la base de données et aucune erreur n'est
> signalée concernant la mise à jour.
>
> La commande update du data adapter a été mise à jour, les changements
> dans la data row ont été acceptés.
>
> Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> pas de résultat non plus...
>
> Merci d'avance.
>
> Cordialement.
>
> Pierre.
Bonjour Pierre,
Tu utilises quel méthode de mise à jour dans la base.
Les requettes ont été généré par le wizard du dataAdapteur ?
J'ai fait le test sur un exemple simple en utilisant le Wizard
Mon code est :
sqlDataAdapter1.Fill(dataSet11);
dataSet11.utilisateurs[0][4] = DBNull.Value;
sqlDataAdapter1.Update(dataSet11);
Ca marche très bien j'ai bien NULL en base.
--
Pierre Lagarde
Microsoft France
Pierre wrote:
> Bonjour,
>
> Deuxième envoi...
> je ne trouve pas de solution.
>
> je souhaite mettre à jour une ligne dans une table et cette ligne
> contient une reference externe vers une autre table dans un champ de
> type int.
> C'est ce champ que je ne parviens pas à mettre à NULL afin de
> supprimer la référence.
> Il est possible d'affecter une valeur à ce champ, mais une fois
> affectée, on ne peut plus revenir à NULL...
>
> Je passe comme expliqué ci-dessous par un data adapter, un dataset et
> une datarow.
>
> Soit une data row d'une table dans un data adapter, je ne parviens
> pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> "ville".
> La lecture à partir de la base de données d'un champ null ne provoque
> pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> à jour du champ à une valeur non null se fait correctement.
> Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
> valeur du champ "ville" de la data row est forcée à
> system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> l'enregistrement du data adapter (da.update), la modification n'est
> pas retranscrite dans la base de données et aucune erreur n'est
> signalée concernant la mise à jour.
>
> La commande update du data adapter a été mise à jour, les changements
> dans la data row ont été acceptés.
>
> Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> pas de résultat non plus...
>
> Merci d'avance.
>
> Cordialement.
>
> Pierre.
Bonjour Pierre,
Tu utilises quel méthode de mise à jour dans la base.
Les requettes ont été généré par le wizard du dataAdapteur ?
J'ai fait le test sur un exemple simple en utilisant le Wizard
Mon code est :
sqlDataAdapter1.Fill(dataSet11);
dataSet11.utilisateurs[0][4] = DBNull.Value;
sqlDataAdapter1.Update(dataSet11);
Ca marche très bien j'ai bien NULL en base.
--
Pierre Lagarde
Microsoft France
Pierre wrote:
> Bonjour,
>
> Deuxième envoi...
> je ne trouve pas de solution.
>
> je souhaite mettre à jour une ligne dans une table et cette ligne
> contient une reference externe vers une autre table dans un champ de
> type int.
> C'est ce champ que je ne parviens pas à mettre à NULL afin de
> supprimer la référence.
> Il est possible d'affecter une valeur à ce champ, mais une fois
> affectée, on ne peut plus revenir à NULL...
>
> Je passe comme expliqué ci-dessous par un data adapter, un dataset et
> une datarow.
>
> Soit une data row d'une table dans un data adapter, je ne parviens
> pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> "ville".
> La lecture à partir de la base de données d'un champ null ne provoque
> pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> à jour du champ à une valeur non null se fait correctement.
> Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
> valeur du champ "ville" de la data row est forcée à
> system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> l'enregistrement du data adapter (da.update), la modification n'est
> pas retranscrite dans la base de données et aucune erreur n'est
> signalée concernant la mise à jour.
>
> La commande update du data adapter a été mise à jour, les changements
> dans la data row ont été acceptés.
>
> Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> pas de résultat non plus...
>
> Merci d'avance.
>
> Cordialement.
>
> Pierre.
Bonjour Pierre,
Tu utilises quel méthode de mise à jour dans la base.
Les requettes ont été généré par le wizard du dataAdapteur ?
J'ai fait le test sur un exemple simple en utilisant le Wizard
Mon code est :
sqlDataAdapter1.Fill(dataSet11);
dataSet11.utilisateurs[0][4] = DBNull.Value;
sqlDataAdapter1.Update(dataSet11);
Ca marche très bien j'ai bien NULL en base.
--
Pierre Lagarde
Microsoft France
Pierre wrote:
> Bonjour,
>
> Deuxième envoi...
> je ne trouve pas de solution.
>
> je souhaite mettre à jour une ligne dans une table et cette ligne
> contient une reference externe vers une autre table dans un champ de
> type int.
> C'est ce champ que je ne parviens pas à mettre à NULL afin de
> supprimer la référence.
> Il est possible d'affecter une valeur à ce champ, mais une fois
> affectée, on ne peut plus revenir à NULL...
>
> Je passe comme expliqué ci-dessous par un data adapter, un dataset et
> une datarow.
>
> Soit une data row d'une table dans un data adapter, je ne parviens
> pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> "ville".
> La lecture à partir de la base de données d'un champ null ne provoque
> pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> à jour du champ à une valeur non null se fait correctement.
> Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
> valeur du champ "ville" de la data row est forcée à
> system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> l'enregistrement du data adapter (da.update), la modification n'est
> pas retranscrite dans la base de données et aucune erreur n'est
> signalée concernant la mise à jour.
>
> La commande update du data adapter a été mise à jour, les changements
> dans la data row ont été acceptés.
>
> Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> pas de résultat non plus...
>
> Merci d'avance.
>
> Cordialement.
>
> Pierre.
Bonjour Pierre,
Tu utilises quel méthode de mise à jour dans la base.
Les requettes ont été généré par le wizard du dataAdapteur ?
J'ai fait le test sur un exemple simple en utilisant le Wizard
Mon code est :
sqlDataAdapter1.Fill(dataSet11);
dataSet11.utilisateurs[0][4] = DBNull.Value;
sqlDataAdapter1.Update(dataSet11);
Ca marche très bien j'ai bien NULL en base.
--
Pierre Lagarde
Microsoft France
Pierre wrote:
> Bonjour,
>
> Deuxième envoi...
> je ne trouve pas de solution.
>
> je souhaite mettre à jour une ligne dans une table et cette ligne
> contient une reference externe vers une autre table dans un champ de
> type int.
> C'est ce champ que je ne parviens pas à mettre à NULL afin de
> supprimer la référence.
> Il est possible d'affecter une valeur à ce champ, mais une fois
> affectée, on ne peut plus revenir à NULL...
>
> Je passe comme expliqué ci-dessous par un data adapter, un dataset et
> une datarow.
>
> Soit une data row d'une table dans un data adapter, je ne parviens
> pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> "ville".
> La lecture à partir de la base de données d'un champ null ne provoque
> pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> à jour du champ à une valeur non null se fait correctement.
> Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
> valeur du champ "ville" de la data row est forcée à
> system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> l'enregistrement du data adapter (da.update), la modification n'est
> pas retranscrite dans la base de données et aucune erreur n'est
> signalée concernant la mise à jour.
>
> La commande update du data adapter a été mise à jour, les changements
> dans la data row ont été acceptés.
>
> Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> pas de résultat non plus...
>
> Merci d'avance.
>
> Cordialement.
>
> Pierre.
Salut Pierre,
J'ai fini par trouver :
l'affectation de la valeur au champ de la ligne se faisait via ce code :
try
dr(field)=val
catch
dr(field)Ûnull.value
end try
et il semblerait que lors du déclenchement de l'exception, en faisant par
exemple une affectation de la chaine vide à une colonne type int, l'erreur
provoquée perturbe la data row et malgré l'affectation à dbnull, celle ci
restait en erreur.
Le seul moyen que j'ai trouvé pour "tester" au préalable l'affectation est
de faire la même affectation mais sur une dummy row : dr0
try
dr0(field)=val
dr(field)=val
catch
dr(field)Ûnull.value
end try
et maintenant ça marche....
Verdict ?
A plus.
Pierre.
"Pierre Lagarde [MS]" a écrit dans le message de
news:
> Bonjour Pierre,
>
> Tu utilises quel méthode de mise à jour dans la base.
> Les requettes ont été généré par le wizard du dataAdapteur ?
> J'ai fait le test sur un exemple simple en utilisant le Wizard
> Mon code est :
> sqlDataAdapter1.Fill(dataSet11);
> dataSet11.utilisateurs[0][4] = DBNull.Value;
> sqlDataAdapter1.Update(dataSet11);
>
> Ca marche très bien j'ai bien NULL en base.
>
> --
> Pierre Lagarde
> Microsoft France
>
> Pierre wrote:
> > Bonjour,
> >
> > Deuxième envoi...
> > je ne trouve pas de solution.
> >
> > je souhaite mettre à jour une ligne dans une table et cette ligne
> > contient une reference externe vers une autre table dans un champ de
> > type int.
> > C'est ce champ que je ne parviens pas à mettre à NULL afin de
> > supprimer la référence.
> > Il est possible d'affecter une valeur à ce champ, mais une fois
> > affectée, on ne peut plus revenir à NULL...
> >
> > Je passe comme expliqué ci-dessous par un data adapter, un dataset et
> > une datarow.
> >
> > Soit une data row d'une table dans un data adapter, je ne parviens
> > pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> > "ville".
> > La lecture à partir de la base de données d'un champ null ne provoque
> > pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> > à jour du champ à une valeur non null se fait correctement.
> > Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
> > valeur du champ "ville" de la data row est forcée à
> > system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> > l'enregistrement du data adapter (da.update), la modification n'est
> > pas retranscrite dans la base de données et aucune erreur n'est
> > signalée concernant la mise à jour.
> >
> > La commande update du data adapter a été mise à jour, les changements
> > dans la data row ont été acceptés.
> >
> > Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> > pas de résultat non plus...
> >
> > Merci d'avance.
> >
> > Cordialement.
> >
> > Pierre.
>
>
Salut Pierre,
J'ai fini par trouver :
l'affectation de la valeur au champ de la ligne se faisait via ce code :
try
dr(field)=val
catch
dr(field)Ûnull.value
end try
et il semblerait que lors du déclenchement de l'exception, en faisant par
exemple une affectation de la chaine vide à une colonne type int, l'erreur
provoquée perturbe la data row et malgré l'affectation à dbnull, celle ci
restait en erreur.
Le seul moyen que j'ai trouvé pour "tester" au préalable l'affectation est
de faire la même affectation mais sur une dummy row : dr0
try
dr0(field)=val
dr(field)=val
catch
dr(field)Ûnull.value
end try
et maintenant ça marche....
Verdict ?
A plus.
Pierre.
"Pierre Lagarde [MS]" <pierlag@microsoft.com> a écrit dans le message de
news:uN59w46qEHA.3244@tk2msftngp13.phx.gbl...
> Bonjour Pierre,
>
> Tu utilises quel méthode de mise à jour dans la base.
> Les requettes ont été généré par le wizard du dataAdapteur ?
> J'ai fait le test sur un exemple simple en utilisant le Wizard
> Mon code est :
> sqlDataAdapter1.Fill(dataSet11);
> dataSet11.utilisateurs[0][4] = DBNull.Value;
> sqlDataAdapter1.Update(dataSet11);
>
> Ca marche très bien j'ai bien NULL en base.
>
> --
> Pierre Lagarde
> Microsoft France
>
> Pierre wrote:
> > Bonjour,
> >
> > Deuxième envoi...
> > je ne trouve pas de solution.
> >
> > je souhaite mettre à jour une ligne dans une table et cette ligne
> > contient une reference externe vers une autre table dans un champ de
> > type int.
> > C'est ce champ que je ne parviens pas à mettre à NULL afin de
> > supprimer la référence.
> > Il est possible d'affecter une valeur à ce champ, mais une fois
> > affectée, on ne peut plus revenir à NULL...
> >
> > Je passe comme expliqué ci-dessous par un data adapter, un dataset et
> > une datarow.
> >
> > Soit une data row d'une table dans un data adapter, je ne parviens
> > pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> > "ville".
> > La lecture à partir de la base de données d'un champ null ne provoque
> > pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> > à jour du champ à une valeur non null se fait correctement.
> > Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
> > valeur du champ "ville" de la data row est forcée à
> > system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> > l'enregistrement du data adapter (da.update), la modification n'est
> > pas retranscrite dans la base de données et aucune erreur n'est
> > signalée concernant la mise à jour.
> >
> > La commande update du data adapter a été mise à jour, les changements
> > dans la data row ont été acceptés.
> >
> > Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> > pas de résultat non plus...
> >
> > Merci d'avance.
> >
> > Cordialement.
> >
> > Pierre.
>
>
Salut Pierre,
J'ai fini par trouver :
l'affectation de la valeur au champ de la ligne se faisait via ce code :
try
dr(field)=val
catch
dr(field)Ûnull.value
end try
et il semblerait que lors du déclenchement de l'exception, en faisant par
exemple une affectation de la chaine vide à une colonne type int, l'erreur
provoquée perturbe la data row et malgré l'affectation à dbnull, celle ci
restait en erreur.
Le seul moyen que j'ai trouvé pour "tester" au préalable l'affectation est
de faire la même affectation mais sur une dummy row : dr0
try
dr0(field)=val
dr(field)=val
catch
dr(field)Ûnull.value
end try
et maintenant ça marche....
Verdict ?
A plus.
Pierre.
"Pierre Lagarde [MS]" a écrit dans le message de
news:
> Bonjour Pierre,
>
> Tu utilises quel méthode de mise à jour dans la base.
> Les requettes ont été généré par le wizard du dataAdapteur ?
> J'ai fait le test sur un exemple simple en utilisant le Wizard
> Mon code est :
> sqlDataAdapter1.Fill(dataSet11);
> dataSet11.utilisateurs[0][4] = DBNull.Value;
> sqlDataAdapter1.Update(dataSet11);
>
> Ca marche très bien j'ai bien NULL en base.
>
> --
> Pierre Lagarde
> Microsoft France
>
> Pierre wrote:
> > Bonjour,
> >
> > Deuxième envoi...
> > je ne trouve pas de solution.
> >
> > je souhaite mettre à jour une ligne dans une table et cette ligne
> > contient une reference externe vers une autre table dans un champ de
> > type int.
> > C'est ce champ que je ne parviens pas à mettre à NULL afin de
> > supprimer la référence.
> > Il est possible d'affecter une valeur à ce champ, mais une fois
> > affectée, on ne peut plus revenir à NULL...
> >
> > Je passe comme expliqué ci-dessous par un data adapter, un dataset et
> > une datarow.
> >
> > Soit une data row d'une table dans un data adapter, je ne parviens
> > pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> > "ville".
> > La lecture à partir de la base de données d'un champ null ne provoque
> > pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> > à jour du champ à une valeur non null se fait correctement.
> > Lorsque dans l'interface, on ne choisit rien pour le champ "ville", la
> > valeur du champ "ville" de la data row est forcée à
> > system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> > l'enregistrement du data adapter (da.update), la modification n'est
> > pas retranscrite dans la base de données et aucune erreur n'est
> > signalée concernant la mise à jour.
> >
> > La commande update du data adapter a été mise à jour, les changements
> > dans la data row ont été acceptés.
> >
> > Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> > pas de résultat non plus...
> >
> > Merci d'avance.
> >
> > Cordialement.
> >
> > Pierre.
>
>
Conseil:
"Ne jamais déclencher d'exception lors du parcours normal d'exécution à
cause des performances."
Je pense qu'un test serait nettement plus judicieux.
--
Paul Bacelar
"Pierre" wrote in message
news:#
> Salut Pierre,
>
> J'ai fini par trouver :
>
> l'affectation de la valeur au champ de la ligne se faisait via ce code :
>
> try
> dr(field)=val
> catch
> dr(field)Ûnull.value
> end try
>
> et il semblerait que lors du déclenchement de l'exception, en faisant
> exemple une affectation de la chaine vide à une colonne type int,
> provoquée perturbe la data row et malgré l'affectation à dbnull, celle
> restait en erreur.
> Le seul moyen que j'ai trouvé pour "tester" au préalable l'affectation
> de faire la même affectation mais sur une dummy row : dr0
>
> try
> dr0(field)=val
> dr(field)=val
> catch
> dr(field)Ûnull.value
> end try
>
>
> et maintenant ça marche....
>
> Verdict ?
>
>
> A plus.
>
> Pierre.
>
>
> "Pierre Lagarde [MS]" a écrit dans le message de
> news:
> > Bonjour Pierre,
> >
> > Tu utilises quel méthode de mise à jour dans la base.
> > Les requettes ont été généré par le wizard du dataAdapteur ?
> > J'ai fait le test sur un exemple simple en utilisant le Wizard
> > Mon code est :
> > sqlDataAdapter1.Fill(dataSet11);
> > dataSet11.utilisateurs[0][4] = DBNull.Value;
> > sqlDataAdapter1.Update(dataSet11);
> >
> > Ca marche très bien j'ai bien NULL en base.
> >
> > --
> > Pierre Lagarde
> > Microsoft France
> >
> > Pierre wrote:
> > > Bonjour,
> > >
> > > Deuxième envoi...
> > > je ne trouve pas de solution.
> > >
> > > je souhaite mettre à jour une ligne dans une table et cette ligne
> > > contient une reference externe vers une autre table dans un champ de
> > > type int.
> > > C'est ce champ que je ne parviens pas à mettre à NULL afin de
> > > supprimer la référence.
> > > Il est possible d'affecter une valeur à ce champ, mais une fois
> > > affectée, on ne peut plus revenir à NULL...
> > >
> > > Je passe comme expliqué ci-dessous par un data adapter, un dataset
> > > une datarow.
> > >
> > > Soit une data row d'une table dans un data adapter, je ne parviens
> > > pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> > > "ville".
> > > La lecture à partir de la base de données d'un champ null ne
> > > pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> > > à jour du champ à une valeur non null se fait correctement.
> > > Lorsque dans l'interface, on ne choisit rien pour le champ "ville",
> > > valeur du champ "ville" de la data row est forcée à
> > > system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> > > l'enregistrement du data adapter (da.update), la modification n'est
> > > pas retranscrite dans la base de données et aucune erreur n'est
> > > signalée concernant la mise à jour.
> > >
> > > La commande update du data adapter a été mise à jour, les
> > > dans la data row ont été acceptés.
> > >
> > > Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> > > pas de résultat non plus...
> > >
> > > Merci d'avance.
> > >
> > > Cordialement.
> > >
> > > Pierre.
> >
> >
>
>
Conseil:
"Ne jamais déclencher d'exception lors du parcours normal d'exécution à
cause des performances."
Je pense qu'un test serait nettement plus judicieux.
--
Paul Bacelar
"Pierre" <pierroozz@freesurf.fr> wrote in message
news:#AVC8oErEHA.556@tk2msftngp13.phx.gbl...
> Salut Pierre,
>
> J'ai fini par trouver :
>
> l'affectation de la valeur au champ de la ligne se faisait via ce code :
>
> try
> dr(field)=val
> catch
> dr(field)Ûnull.value
> end try
>
> et il semblerait que lors du déclenchement de l'exception, en faisant
> exemple une affectation de la chaine vide à une colonne type int,
> provoquée perturbe la data row et malgré l'affectation à dbnull, celle
> restait en erreur.
> Le seul moyen que j'ai trouvé pour "tester" au préalable l'affectation
> de faire la même affectation mais sur une dummy row : dr0
>
> try
> dr0(field)=val
> dr(field)=val
> catch
> dr(field)Ûnull.value
> end try
>
>
> et maintenant ça marche....
>
> Verdict ?
>
>
> A plus.
>
> Pierre.
>
>
> "Pierre Lagarde [MS]" <pierlag@microsoft.com> a écrit dans le message de
> news:uN59w46qEHA.3244@tk2msftngp13.phx.gbl...
> > Bonjour Pierre,
> >
> > Tu utilises quel méthode de mise à jour dans la base.
> > Les requettes ont été généré par le wizard du dataAdapteur ?
> > J'ai fait le test sur un exemple simple en utilisant le Wizard
> > Mon code est :
> > sqlDataAdapter1.Fill(dataSet11);
> > dataSet11.utilisateurs[0][4] = DBNull.Value;
> > sqlDataAdapter1.Update(dataSet11);
> >
> > Ca marche très bien j'ai bien NULL en base.
> >
> > --
> > Pierre Lagarde
> > Microsoft France
> >
> > Pierre wrote:
> > > Bonjour,
> > >
> > > Deuxième envoi...
> > > je ne trouve pas de solution.
> > >
> > > je souhaite mettre à jour une ligne dans une table et cette ligne
> > > contient une reference externe vers une autre table dans un champ de
> > > type int.
> > > C'est ce champ que je ne parviens pas à mettre à NULL afin de
> > > supprimer la référence.
> > > Il est possible d'affecter une valeur à ce champ, mais une fois
> > > affectée, on ne peut plus revenir à NULL...
> > >
> > > Je passe comme expliqué ci-dessous par un data adapter, un dataset
> > > une datarow.
> > >
> > > Soit une data row d'une table dans un data adapter, je ne parviens
> > > pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> > > "ville".
> > > La lecture à partir de la base de données d'un champ null ne
> > > pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> > > à jour du champ à une valeur non null se fait correctement.
> > > Lorsque dans l'interface, on ne choisit rien pour le champ "ville",
> > > valeur du champ "ville" de la data row est forcée à
> > > system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> > > l'enregistrement du data adapter (da.update), la modification n'est
> > > pas retranscrite dans la base de données et aucune erreur n'est
> > > signalée concernant la mise à jour.
> > >
> > > La commande update du data adapter a été mise à jour, les
> > > dans la data row ont été acceptés.
> > >
> > > Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> > > pas de résultat non plus...
> > >
> > > Merci d'avance.
> > >
> > > Cordialement.
> > >
> > > Pierre.
> >
> >
>
>
Conseil:
"Ne jamais déclencher d'exception lors du parcours normal d'exécution à
cause des performances."
Je pense qu'un test serait nettement plus judicieux.
--
Paul Bacelar
"Pierre" wrote in message
news:#
> Salut Pierre,
>
> J'ai fini par trouver :
>
> l'affectation de la valeur au champ de la ligne se faisait via ce code :
>
> try
> dr(field)=val
> catch
> dr(field)Ûnull.value
> end try
>
> et il semblerait que lors du déclenchement de l'exception, en faisant
> exemple une affectation de la chaine vide à une colonne type int,
> provoquée perturbe la data row et malgré l'affectation à dbnull, celle
> restait en erreur.
> Le seul moyen que j'ai trouvé pour "tester" au préalable l'affectation
> de faire la même affectation mais sur une dummy row : dr0
>
> try
> dr0(field)=val
> dr(field)=val
> catch
> dr(field)Ûnull.value
> end try
>
>
> et maintenant ça marche....
>
> Verdict ?
>
>
> A plus.
>
> Pierre.
>
>
> "Pierre Lagarde [MS]" a écrit dans le message de
> news:
> > Bonjour Pierre,
> >
> > Tu utilises quel méthode de mise à jour dans la base.
> > Les requettes ont été généré par le wizard du dataAdapteur ?
> > J'ai fait le test sur un exemple simple en utilisant le Wizard
> > Mon code est :
> > sqlDataAdapter1.Fill(dataSet11);
> > dataSet11.utilisateurs[0][4] = DBNull.Value;
> > sqlDataAdapter1.Update(dataSet11);
> >
> > Ca marche très bien j'ai bien NULL en base.
> >
> > --
> > Pierre Lagarde
> > Microsoft France
> >
> > Pierre wrote:
> > > Bonjour,
> > >
> > > Deuxième envoi...
> > > je ne trouve pas de solution.
> > >
> > > je souhaite mettre à jour une ligne dans une table et cette ligne
> > > contient une reference externe vers une autre table dans un champ de
> > > type int.
> > > C'est ce champ que je ne parviens pas à mettre à NULL afin de
> > > supprimer la référence.
> > > Il est possible d'affecter une valeur à ce champ, mais une fois
> > > affectée, on ne peut plus revenir à NULL...
> > >
> > > Je passe comme expliqué ci-dessous par un data adapter, un dataset
> > > une datarow.
> > >
> > > Soit une data row d'une table dans un data adapter, je ne parviens
> > > pas à mettre à null (Ûnull) un champ de cette ligne, le champ
> > > "ville".
> > > La lecture à partir de la base de données d'un champ null ne
> > > pas d'erreur et est bien remontée dans l'interface. De plus, la mise
> > > à jour du champ à une valeur non null se fait correctement.
> > > Lorsque dans l'interface, on ne choisit rien pour le champ "ville",
> > > valeur du champ "ville" de la data row est forcée à
> > > system.dbnull.value, ce qui se fait correctement aussi. Mais lors de
> > > l'enregistrement du data adapter (da.update), la modification n'est
> > > pas retranscrite dans la base de données et aucune erreur n'est
> > > signalée concernant la mise à jour.
> > >
> > > La commande update du data adapter a été mise à jour, les
> > > dans la data row ont été acceptés.
> > >
> > > Donc, là, je sèche : pas de message d'erreur, pas d'erreur donc, et
> > > pas de résultat non plus...
> > >
> > > Merci d'avance.
> > >
> > > Cordialement.
> > >
> > > Pierre.
> >
> >
>
>