Probleme :
j'utilise vs2005 vb pour faire un site web
j'utilise aussi sql server 2005
je me mets à xml
donc j'ai créé une table avec un champs xml (normal non ?)
j'ai créé un schema (en fait plusieurs en fonction de l'article, mais la
n'est pas le probleme)
comment faire de la saisie d'un article ET donc ajouter les valeurs dans mon
champs xml si je ne connais pas, au depart, les champs a remplir ?
commentaire :
dans un "travail normal" on connait les champs à remplir donc (sans passer
par un "grid" quelconque) je peux creer une page de saisie avec les champs
adéquois.
Mais là je possede un champs "special" puisque XML !
comment creer dans ma page de saisie des textbox (par exemple) permettant de
remplir ma table correctement.
exemple pour mieux cerner mon probleme
ma table
id
libelle
prix
xmlCaracteristique
selon l'article saisi, xmlCaracteristique peut contenir ceci
taille
longueur
largeur
epaisseur
poids
fonction
wifi
bluetooth
pda
mais il pourrait contenir selon l'article que je saisi
UC
processeur
ram
DD1
DD2
typeDVD
Video
processeur
ram
Entree-Sortie
rs232
rj54
usb
firewire
donc mon probleme est de pouvoir lire un schema et ne recuperer (je suppose
?) que les entetes de champs et leurs propriétés (string ? entier ? date ?)
en ayant ces infos, creer dynamiquement tous les label et textbox pour
pouvoir saisir mon premier enregistrement dans la base...
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
Rudi Bruchez
Helter Skelter a écrit:
donc mon probleme est de pouvoir lire un schema et ne recuperer (je suppose ?) que les entetes de champs et leurs propriétés (string ? entier ? date ?) en ayant ces infos, creer dynamiquement tous les label et textbox pour pouvoir saisir mon premier enregistrement dans la base...
Bonjour,
Comme le schema est lui-même en XML, tu peux sans doute le parser et bâtir ta form en conséquence. Tu peux récupérer le schema en utilisant la fonction Xml_schema_namespace() en T-SQL, tu peux aussi peut-être utiliser la méthode ReadXmlSchema de l'object dataset en ADO.NET : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconloadingdatasetschemainformationfromxml.asp
donc mon probleme est de pouvoir lire un schema et ne recuperer (je suppose
?) que les entetes de champs et leurs propriétés (string ? entier ? date ?)
en ayant ces infos, creer dynamiquement tous les label et textbox pour
pouvoir saisir mon premier enregistrement dans la base...
Bonjour,
Comme le schema est lui-même en XML, tu peux sans doute le parser et bâtir
ta form en conséquence.
Tu peux récupérer le schema en utilisant la fonction Xml_schema_namespace()
en T-SQL, tu peux aussi peut-être utiliser la méthode ReadXmlSchema de
l'object dataset en ADO.NET :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconloadingdatasetschemainformationfromxml.asp
donc mon probleme est de pouvoir lire un schema et ne recuperer (je suppose ?) que les entetes de champs et leurs propriétés (string ? entier ? date ?) en ayant ces infos, creer dynamiquement tous les label et textbox pour pouvoir saisir mon premier enregistrement dans la base...
Bonjour,
Comme le schema est lui-même en XML, tu peux sans doute le parser et bâtir ta form en conséquence. Tu peux récupérer le schema en utilisant la fonction Xml_schema_namespace() en T-SQL, tu peux aussi peut-être utiliser la méthode ReadXmlSchema de l'object dataset en ADO.NET : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconloadingdatasetschemainformationfromxml.asp
travaillant sur des pages web j'ai trouvé comment lire un enregistrement contenant un champs xml
j'arrive maintenant à "lire" le schema associé non pas à ma table (car j'ai 18 schemas possibles pour un enregistrement) mais à ma base. je vais chercher un schema non pas en "dur" dans un fichier xsd mais par son name dans sys.xml_schema_namespaces
ce que je ne comprends pas vraiment dans sa logique c'est comment associer ma saisie de valeurs dans un champs xml à son controle de validation. Je ne comprends pas la logique (donc le fonctionnement).
voici ce que fait ma page elle va lire le champs xml je stocke dans un arraylist le titre du noeud et sa valeur en parcourant tout le champs xml de mon enreg je construit une table dynamique (a partir de l'arraylist puisque je connais maintenant la taille de la table a creer) qui va afficher avec les bons tag html (gras, décalé a droite ou gauche selon l'importance du noeud) mon champs xml.
A ce niveau la, la notion de schema m'importe peu (sauf peut etre si je veux afficher la comparaison des champs xml entre plusieurs articles de ma base !).
Mais si je suis en saisie ou en modif de ce champs ? Le schema prend alors toute sa valeur car c'est lui (si j'ai bien compris) qui va m'empecher de rentrer une valeur string dans un champs integer ou data par exemple. Dans ce cas precis le controle de valitation via un schema doit se faire au niveau de ma page ou au niveau de sql server ? J'aurais tendance a repondre au niveau de ma page pour éviter les aller/retour entre ma page et sql ! suis-je dans la bonne voie ? Si c'est au niveau de sql server, comment dois-je m'y prendre ? Si c'est au niveau de ma programmation VS2005 itou !
j'espere avoir bien expliqué mes manques en sachant que pas mal d'articles sur msdn ne semblent pas valable pour VS2005 voire SQL2005.
Ne pas oublier (et c'est pour cela que je post ici) que je ne lis pas un fichier xml attaché à un schema xsd, mais bien un champs xml que je rattache dynamiquement à un des 18 schemas disponibles stockés dans ma base
donc je n'ai pas de Dim xmlStream As System.IO.StreamReader = New System.IO.StreamReader ("schema.xsd") Dim myDS As DataSet = New DataSet (voir http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconloadingdatasetschemainformationfromxml.asp) car je ne pense pas devoir ou pouvoir utiliser System.IO.StreamReader qui s'applique apparement a de la lecture ecriture de fichiers.
merci pour vos lumieres
"Rudi Bruchez" <rudi#nospam#at_babaluga.com> a écrit dans le message de news: 11e36mkuws1yt$
Helter Skelter a écrit:
donc mon probleme est de pouvoir lire un schema et ne recuperer (je suppose ?) que les entetes de champs et leurs propriétés (string ? entier ? date ?) en ayant ces infos, creer dynamiquement tous les label et textbox pour pouvoir saisir mon premier enregistrement dans la base...
Bonjour,
Comme le schema est lui-même en XML, tu peux sans doute le parser et bâtir ta form en conséquence. Tu peux récupérer le schema en utilisant la fonction Xml_schema_namespace() en T-SQL, tu peux aussi peut-être utiliser la méthode ReadXmlSchema de l'object dataset en ADO.NET : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconloadingdatasetschemainformationfromxml.asp
travaillant sur des pages web j'ai trouvé comment lire un enregistrement
contenant un champs xml
j'arrive maintenant à "lire" le schema associé non pas à ma table (car j'ai
18 schemas possibles pour un enregistrement) mais à ma base.
je vais chercher un schema non pas en "dur" dans un fichier xsd mais par son
name dans sys.xml_schema_namespaces
ce que je ne comprends pas vraiment dans sa logique c'est comment associer
ma saisie de valeurs dans un champs xml à son controle de validation.
Je ne comprends pas la logique (donc le fonctionnement).
voici ce que fait ma page
elle va lire le champs xml
je stocke dans un arraylist le titre du noeud et sa valeur en parcourant
tout le champs xml de mon enreg
je construit une table dynamique (a partir de l'arraylist puisque je connais
maintenant la taille de la table a creer) qui va afficher avec les bons tag
html (gras, décalé a droite ou gauche selon l'importance du noeud) mon
champs xml.
A ce niveau la, la notion de schema m'importe peu (sauf peut etre si je veux
afficher la comparaison des champs xml entre plusieurs articles de ma base
!).
Mais si je suis en saisie ou en modif de ce champs ?
Le schema prend alors toute sa valeur car c'est lui (si j'ai bien compris)
qui va m'empecher de rentrer une valeur string dans un champs integer ou
data par exemple.
Dans ce cas precis le controle de valitation via un schema doit se faire au
niveau de ma page ou au niveau de sql server ?
J'aurais tendance a repondre au niveau de ma page pour éviter les
aller/retour entre ma page et sql !
suis-je dans la bonne voie ?
Si c'est au niveau de sql server, comment dois-je m'y prendre ?
Si c'est au niveau de ma programmation VS2005 itou !
j'espere avoir bien expliqué mes manques en sachant que pas mal d'articles
sur msdn ne semblent pas valable pour VS2005 voire SQL2005.
Ne pas oublier (et c'est pour cela que je post ici) que je ne lis pas un
fichier xml attaché à un schema xsd, mais bien un champs xml que je rattache
dynamiquement à un des 18 schemas disponibles stockés dans ma base
donc je n'ai pas de
Dim xmlStream As System.IO.StreamReader = New System.IO.StreamReader
("schema.xsd")
Dim myDS As DataSet = New DataSet
(voir
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconloadingdatasetschemainformationfromxml.asp)
car je ne pense pas devoir ou pouvoir utiliser System.IO.StreamReader qui
s'applique apparement a de la lecture ecriture de fichiers.
merci pour vos lumieres
"Rudi Bruchez" <rudi#nospam#at_babaluga.com> a écrit dans le message de
news: 11e36mkuws1yt$.dgagqj9gqjrd.dlg@40tude.net...
Helter Skelter a écrit:
donc mon probleme est de pouvoir lire un schema et ne recuperer (je
suppose
?) que les entetes de champs et leurs propriétés (string ? entier ? date
?)
en ayant ces infos, creer dynamiquement tous les label et textbox pour
pouvoir saisir mon premier enregistrement dans la base...
Bonjour,
Comme le schema est lui-même en XML, tu peux sans doute le parser et bâtir
ta form en conséquence.
Tu peux récupérer le schema en utilisant la fonction
Xml_schema_namespace()
en T-SQL, tu peux aussi peut-être utiliser la méthode ReadXmlSchema de
l'object dataset en ADO.NET :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconloadingdatasetschemainformationfromxml.asp
travaillant sur des pages web j'ai trouvé comment lire un enregistrement contenant un champs xml
j'arrive maintenant à "lire" le schema associé non pas à ma table (car j'ai 18 schemas possibles pour un enregistrement) mais à ma base. je vais chercher un schema non pas en "dur" dans un fichier xsd mais par son name dans sys.xml_schema_namespaces
ce que je ne comprends pas vraiment dans sa logique c'est comment associer ma saisie de valeurs dans un champs xml à son controle de validation. Je ne comprends pas la logique (donc le fonctionnement).
voici ce que fait ma page elle va lire le champs xml je stocke dans un arraylist le titre du noeud et sa valeur en parcourant tout le champs xml de mon enreg je construit une table dynamique (a partir de l'arraylist puisque je connais maintenant la taille de la table a creer) qui va afficher avec les bons tag html (gras, décalé a droite ou gauche selon l'importance du noeud) mon champs xml.
A ce niveau la, la notion de schema m'importe peu (sauf peut etre si je veux afficher la comparaison des champs xml entre plusieurs articles de ma base !).
Mais si je suis en saisie ou en modif de ce champs ? Le schema prend alors toute sa valeur car c'est lui (si j'ai bien compris) qui va m'empecher de rentrer une valeur string dans un champs integer ou data par exemple. Dans ce cas precis le controle de valitation via un schema doit se faire au niveau de ma page ou au niveau de sql server ? J'aurais tendance a repondre au niveau de ma page pour éviter les aller/retour entre ma page et sql ! suis-je dans la bonne voie ? Si c'est au niveau de sql server, comment dois-je m'y prendre ? Si c'est au niveau de ma programmation VS2005 itou !
j'espere avoir bien expliqué mes manques en sachant que pas mal d'articles sur msdn ne semblent pas valable pour VS2005 voire SQL2005.
Ne pas oublier (et c'est pour cela que je post ici) que je ne lis pas un fichier xml attaché à un schema xsd, mais bien un champs xml que je rattache dynamiquement à un des 18 schemas disponibles stockés dans ma base
donc je n'ai pas de Dim xmlStream As System.IO.StreamReader = New System.IO.StreamReader ("schema.xsd") Dim myDS As DataSet = New DataSet (voir http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconloadingdatasetschemainformationfromxml.asp) car je ne pense pas devoir ou pouvoir utiliser System.IO.StreamReader qui s'applique apparement a de la lecture ecriture de fichiers.
merci pour vos lumieres
"Rudi Bruchez" <rudi#nospam#at_babaluga.com> a écrit dans le message de news: 11e36mkuws1yt$
Helter Skelter a écrit:
donc mon probleme est de pouvoir lire un schema et ne recuperer (je suppose ?) que les entetes de champs et leurs propriétés (string ? entier ? date ?) en ayant ces infos, creer dynamiquement tous les label et textbox pour pouvoir saisir mon premier enregistrement dans la base...
Bonjour,
Comme le schema est lui-même en XML, tu peux sans doute le parser et bâtir ta form en conséquence. Tu peux récupérer le schema en utilisant la fonction Xml_schema_namespace() en T-SQL, tu peux aussi peut-être utiliser la méthode ReadXmlSchema de l'object dataset en ADO.NET : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconloadingdatasetschemainformationfromxml.asp
Dans ce cas precis le controle de valitation via un schema doit se faire au niveau de ma page ou au niveau de sql server ? J'aurais tendance a repondre au niveau de ma page pour 赩ter les aller/retour entre ma page et sql ! suis-je dans la bonne voie ? Si c'est au niveau de sql server, comment dois-je m'y prendre ? Si c'est au niveau de ma programmation VS2005 itou !
Le schéma valide la saisie des données au niveau de SQL Server. Tu crées une colonne de type XML typé, c'est à dire que tu indiques que cette colonne doit être validée par ce schéma. http://msdn2.microsoft.com/en-us/library/ms184277.aspx
Tu peux aussi valider au niveau du code client avec ton schéma, mais je ne connais pas la syntaxe. Un article sur le sujet : http://www.developer.com/net/net/article.php/3406251
Dans ce cas precis le controle de valitation via un schema doit se faire au
niveau de ma page ou au niveau de sql server ?
J'aurais tendance a repondre au niveau de ma page pour 赩ter les
aller/retour entre ma page et sql !
suis-je dans la bonne voie ?
Si c'est au niveau de sql server, comment dois-je m'y prendre ?
Si c'est au niveau de ma programmation VS2005 itou !
Le schéma valide la saisie des données au niveau de SQL Server. Tu crées
une colonne de type XML typé, c'est à dire que tu indiques que cette
colonne doit être validée par ce schéma.
http://msdn2.microsoft.com/en-us/library/ms184277.aspx
Tu peux aussi valider au niveau du code client avec ton schéma, mais je ne
connais pas la syntaxe.
Un article sur le sujet :
http://www.developer.com/net/net/article.php/3406251
Dans ce cas precis le controle de valitation via un schema doit se faire au niveau de ma page ou au niveau de sql server ? J'aurais tendance a repondre au niveau de ma page pour 赩ter les aller/retour entre ma page et sql ! suis-je dans la bonne voie ? Si c'est au niveau de sql server, comment dois-je m'y prendre ? Si c'est au niveau de ma programmation VS2005 itou !
Le schéma valide la saisie des données au niveau de SQL Server. Tu crées une colonne de type XML typé, c'est à dire que tu indiques que cette colonne doit être validée par ce schéma. http://msdn2.microsoft.com/en-us/library/ms184277.aspx
Tu peux aussi valider au niveau du code client avec ton schéma, mais je ne connais pas la syntaxe. Un article sur le sujet : http://www.developer.com/net/net/article.php/3406251
mon champs sql n'est donc pas typé puisque plusieurs schemas sont possibles. et merci pour tes liens
en ce qui concerne msdn2, je crois sans me vanter avoir tout lu (j'ai pas dit compris hein ?) notament le SQL Server 2005 Books Online Using XML in SQL Server. Mais trop d'infos nuisant à l'info je n'ai pas trouvé grand chose parlant simplement mais plutot un dico/inventaire à la Prévert de regles grammaticales sans queue ni suite souvent...
Le deuxieme lien (qui de toute facon correspond à ta definition de xml typé ou pas (je pensais bettement que le fait d'avoir des schema associés à un champs xml le "rendait" typé de facto)) semble prometeur et au moins plus didactique.
merci pour le temps consacré à mes problemes ;)
"Rudi Bruchez" <"rudi#no-spam#[at]babaluga.com"> a écrit dans le message de news: 10t5qaufvp68s.1e0v18nr6r2y8$
Helter Skelter a écrit:
Dans ce cas precis le controle de valitation via un schema doit se faire au niveau de ma page ou au niveau de sql server ? J'aurais tendance a repondre au niveau de ma page pour ?ter les aller/retour entre ma page et sql ! suis-je dans la bonne voie ? Si c'est au niveau de sql server, comment dois-je m'y prendre ? Si c'est au niveau de ma programmation VS2005 itou !
Le schéma valide la saisie des données au niveau de SQL Server. Tu crées une colonne de type XML typé, c'est à dire que tu indiques que cette colonne doit être validée par ce schéma. http://msdn2.microsoft.com/en-us/library/ms184277.aspx
Tu peux aussi valider au niveau du code client avec ton schéma, mais je ne connais pas la syntaxe. Un article sur le sujet : http://www.developer.com/net/net/article.php/3406251
mon champs sql n'est donc pas typé puisque plusieurs schemas sont possibles.
et merci pour tes liens
en ce qui concerne msdn2, je crois sans me vanter avoir tout lu (j'ai pas
dit compris hein ?)
notament le SQL Server 2005 Books Online Using XML in SQL Server.
Mais trop d'infos nuisant à l'info je n'ai pas trouvé grand chose parlant
simplement
mais plutot un dico/inventaire à la Prévert de regles grammaticales sans
queue ni suite souvent...
Le deuxieme lien (qui de toute facon correspond à ta definition de xml typé
ou pas (je pensais bettement que le fait d'avoir des schema associés à un
champs xml le "rendait" typé de facto)) semble prometeur et au moins plus
didactique.
merci pour le temps consacré à mes problemes ;)
"Rudi Bruchez" <"rudi#no-spam#[at]babaluga.com"> a écrit dans le message de
news: 10t5qaufvp68s.1e0v18nr6r2y8$.dlg@40tude.net...
Helter Skelter a écrit:
Dans ce cas precis le controle de valitation via un schema doit se faire
au
niveau de ma page ou au niveau de sql server ?
J'aurais tendance a repondre au niveau de ma page pour ?ter les
aller/retour entre ma page et sql !
suis-je dans la bonne voie ?
Si c'est au niveau de sql server, comment dois-je m'y prendre ?
Si c'est au niveau de ma programmation VS2005 itou !
Le schéma valide la saisie des données au niveau de SQL Server. Tu crées
une colonne de type XML typé, c'est à dire que tu indiques que cette
colonne doit être validée par ce schéma.
http://msdn2.microsoft.com/en-us/library/ms184277.aspx
Tu peux aussi valider au niveau du code client avec ton schéma, mais je ne
connais pas la syntaxe.
Un article sur le sujet :
http://www.developer.com/net/net/article.php/3406251
mon champs sql n'est donc pas typé puisque plusieurs schemas sont possibles. et merci pour tes liens
en ce qui concerne msdn2, je crois sans me vanter avoir tout lu (j'ai pas dit compris hein ?) notament le SQL Server 2005 Books Online Using XML in SQL Server. Mais trop d'infos nuisant à l'info je n'ai pas trouvé grand chose parlant simplement mais plutot un dico/inventaire à la Prévert de regles grammaticales sans queue ni suite souvent...
Le deuxieme lien (qui de toute facon correspond à ta definition de xml typé ou pas (je pensais bettement que le fait d'avoir des schema associés à un champs xml le "rendait" typé de facto)) semble prometeur et au moins plus didactique.
merci pour le temps consacré à mes problemes ;)
"Rudi Bruchez" <"rudi#no-spam#[at]babaluga.com"> a écrit dans le message de news: 10t5qaufvp68s.1e0v18nr6r2y8$
Helter Skelter a écrit:
Dans ce cas precis le controle de valitation via un schema doit se faire au niveau de ma page ou au niveau de sql server ? J'aurais tendance a repondre au niveau de ma page pour ?ter les aller/retour entre ma page et sql ! suis-je dans la bonne voie ? Si c'est au niveau de sql server, comment dois-je m'y prendre ? Si c'est au niveau de ma programmation VS2005 itou !
Le schéma valide la saisie des données au niveau de SQL Server. Tu crées une colonne de type XML typé, c'est à dire que tu indiques que cette colonne doit être validée par ce schéma. http://msdn2.microsoft.com/en-us/library/ms184277.aspx
Tu peux aussi valider au niveau du code client avec ton schéma, mais je ne connais pas la syntaxe. Un article sur le sujet : http://www.developer.com/net/net/article.php/3406251