OVH Cloud OVH Cloud

Potage maison Flash, Xml, Asp, et DB access

1 réponse
Avatar
spitfire220 webforumsuser
A mon avis je dois-etre un grand malade, mais...
Attention, j'arrive pour la première fois dans ce forum avec mes gros sabots...
Je débute ne flash tout comme en XML, donc mes connaissance en ces domaines est plus que sommaire.
Je m'explique sur mon problème:
depuis mos asp, j'alimente une base de données access, dès que cette base est mise à jour, automatiquement je crée un fichier xml reprenant ces différents enregistrement.
code de la page permettant l'enregistrement puis la création du fichier xmlen premier lieu, je supprime le fichier xml existant pour l'acceptation du nouvel enregistrement):
<%
'---récupération des variables formulaire ---
nom=request.form("nom")
prenom=request.form("prenom")

'---connection base de données ---

DSN_BASE = "DBQ=" & Server.Mappath("mabase.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"
Set Conn= Server.CreateObject("ADODB.Connection")
Conn.Open DSN_BASE
set rs_new = Server.CreateObject("ADODB.Recordset")

'---enregistrement des nouvelles valeurs en base ---

sql_ajout= "insert into mesdonnees (nom, prenom) Values ('" & nom & "' ,'" & prenom & "')"

rs_new.open sql_ajout, Conn

'--- déconnection de la base ---
Conn.Close
Set Conn= Nothing

'--- supression du fichier XML existant ---

filetodel=("essai.xml")
rep="/test/xml"
dim objFSO
set objFSO =Server.CreateObject("Scripting.FileSystemObject")
if objFSO.FileExists(Server.MapPath(rep)&"\"&filetodel)Then
objFSO.DeleteFile(Server.MapPath(rep)&"\"&filetodel)
end if
set objFSO=nothing

'--- connection à la base de donnée et récupération des données ---

strConn = "DBQ=" & Server.Mappath("mabase.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"

Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.Open strConn

SQLQuery = "SELECT * FROM mesdonnees"
Set RS = objConnection.Execute(SQLQuery)

'--- écriture des éléments en créant le fichier xml ---

RS.save Server.MapPath("/test/xml/essai.xml"), 1
RS.close
Set RS = Nothing
objConnection.close
Set objConnection = Nothing
%>
<html>
<body>
<%response.redirect("new_data.asp")%>
</body>
</html>

mon fichier xml créé automatiquement en fonction des différents éléments de la db, se présente de cette façon:

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly'>
<s:AttributeType name='id' rs:number='1'>
<s:datatype dt:type='int' dt:maxLength='4' rsrecision='10' rs:fixedlength='true' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='nom' rs:number='2' rs:nullable='true' rs:write='true'>
<s:datatype dt:type='string' dt:maxLength='50'/>
</s:AttributeType>
<s:AttributeType name='prenom' rs:number='3' rs:nullable='true' rs:write='true'>
<s:datatype dt:type='string' dt:maxLength='50'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row id='1' nom='Isson' prenom='Pol'/>
<z:row id='2' nom='Ate' prenom='Tom'/>
<z:row id='3' nom='Assin' prenom='Marc'/>
<z:row id='4' nom='Omène' prenom='Phil'/>
<z:row id='5' nom='Encore' prenom='Moi'/>
<z:row id='6' nom='Stan' prenom='Laurel'/>
</rs:data>
</xml>

Ensuite, via un toturiel trouvé sur la lecture de fichier xml, et après avoir modifié les variables et nom de fichier xml, j'essaies d'afficher cela en Flash, mais je n'y arrive pas, j'ai en résultat d'affichage un beau 'NULL' qui s'affiche...

Voilà le code inséré dans mon calque 'action de mon fla:

menu_xml = new XML();
menu_xml.ignoreWhite = true;
//System.useCodePage = true;
menu_xml.onLoad = function()
{
noeuds = this.firstChild.childNodes;
for (var i = 0; i < noeuds.length; i++)
{
lien = _root.attachMovie("mc", "mc" + i, i);
lien._x = lien._width * i;
lien._y = 0;
lien.monTexte.text = "nom:" +noeuds.attributes.nom + "Prénom:" +noeuds.attributes.prenom + noeuds.firstChild.nodeValue;
//lien.adresse = noeuds.attributes.prenom;
//lien.onRelease = function()
//{
//getURL(this.adresse, "_blank");
//}
}
}
menu_xml.load("essai.xml");

Vous pouvez visualiser tout cela sur http://80.92.67.227/test/xmltest/index.asp
au partir de cette page vous pourrez effectuer le test d'enregistrement de nouvelle donnée, visualiser le xml généré, ainsi qu'accéder à la page index reprenant le flash devant afficher les données...

Voilà deux nuits blanche et quelques litres de café passé qui ne m'ont servi à rien...
Pourriez-vous me sortir de la patauge...
Merci à tous.
Spitfire220

1 réponse

Avatar
imagineur
Salut, je ne connais rien en asp, mais juste un truc, essaye de générer ton
fichier xml différement,
flashMx accepte le xml au format utf8, donc tous le blabla qu'il y a en
en-tête pour décrire
tons fichier xml ne sert à rien dans ton cas, du moins je crois, dis moi si
je me trompe.
Sinon à première vu je ne vois pas de problème particulier dans ton flash.
A+



"spitfire220" a écrit dans le message de
news:bq51q3$n5o$
A mon avis je dois-etre un grand malade, mais...
Attention, j'arrive pour la première fois dans ce forum avec mes gros


sabots...
Je débute ne flash tout comme en XML, donc mes connaissance en ces


domaines est plus que sommaire.
Je m'explique sur mon problème:
depuis mos asp, j'alimente une base de données access, dès que cette base


est mise à jour, automatiquement je crée un fichier xml reprenant ces
différents enregistrement.
code de la page permettant l'enregistrement puis la création du fichier


xmlen premier lieu, je supprime le fichier xml existant pour l'acceptation
du nouvel enregistrement):
<%
'---récupération des variables formulaire ---
nom=request.form("nom")
prenom=request.form("prenom")

'---connection base de données ---

DSN_BASE = "DBQ=" & Server.Mappath("mabase.mdb") & ";Driver={Microsoft


Access Driver (*.mdb)};Driverld%"
Set Conn= Server.CreateObject("ADODB.Connection")
Conn.Open DSN_BASE
set rs_new = Server.CreateObject("ADODB.Recordset")

'---enregistrement des nouvelles valeurs en base ---

sql_ajout= "insert into mesdonnees (nom, prenom) Values ('" & nom & "' ,'"


& prenom & "')"

rs_new.open sql_ajout, Conn

'--- déconnection de la base ---
Conn.Close
Set Conn= Nothing

'--- supression du fichier XML existant ---

filetodel=("essai.xml")
rep="/test/xml"
dim objFSO
set objFSO =Server.CreateObject("Scripting.FileSystemObject")
if objFSO.FileExists(Server.MapPath(rep)&""&filetodel)Then
objFSO.DeleteFile(Server.MapPath(rep)&""&filetodel)
end if
set objFSO=nothing

'--- connection à la base de donnée et récupération des données ---

strConn = "DBQ=" & Server.Mappath("mabase.mdb") & ";Driver={Microsoft


Access Driver (*.mdb)};Driverld%"

Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.Open strConn

SQLQuery = "SELECT * FROM mesdonnees"
Set RS = objConnection.Execute(SQLQuery)

'--- écriture des éléments en créant le fichier xml ---

RS.save Server.MapPath("/test/xml/essai.xml"), 1
RS.close
Set RS = Nothing
objConnection.close
Set objConnection = Nothing
%>
<html>
<body>
<%response.redirect("new_data.asp")%>
</body>
</html>

mon fichier xml créé automatiquement en fonction des différents éléments


de la db, se présente de cette façon:

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly'>
<s:AttributeType name='id' rs:number='1'>
<s:datatype dt:type='int' dt:maxLength='4' rsrecision='10'


rs:fixedlength='true' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='nom' rs:number='2' rs:nullable='true'


rs:write='true'>
<s:datatype dt:type='string' dt:maxLength='50'/>
</s:AttributeType>
<s:AttributeType name='prenom' rs:number='3' rs:nullable='true'


rs:write='true'>
<s:datatype dt:type='string' dt:maxLength='50'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row id='1' nom='Isson' prenom='Pol'/>
<z:row id='2' nom='Ate' prenom='Tom'/>
<z:row id='3' nom='Assin' prenom='Marc'/>
<z:row id='4' nom='Omène' prenom='Phil'/>
<z:row id='5' nom='Encore' prenom='Moi'/>
<z:row id='6' nom='Stan' prenom='Laurel'/>
</rs:data>
</xml>

Ensuite, via un toturiel trouvé sur la lecture de fichier xml, et après


avoir modifié les variables et nom de fichier xml, j'essaies d'afficher cela
en Flash, mais je n'y arrive pas, j'ai en résultat d'affichage un beau
'NULL' qui s'affiche...

Voilà le code inséré dans mon calque 'action de mon fla:

menu_xml = new XML();
menu_xml.ignoreWhite = true;
//System.useCodePage = true;
menu_xml.onLoad = function()
{
noeuds = this.firstChild.childNodes;
for (var i = 0; i < noeuds.length; i++)
{
lien = _root.attachMovie("mc", "mc" + i, i);
lien._x = lien._width * i;
lien._y = 0;
lien.monTexte.text = "nom:" +noeuds.attributes.nom + "Prénom:"


+noeuds.attributes.prenom + noeuds.firstChild.nodeValue;
//lien.adresse = noeuds.attributes.prenom;
//lien.onRelease = function()
//{
//getURL(this.adresse, "_blank");
//}
}
}
menu_xml.load("essai.xml");

Vous pouvez visualiser tout cela sur


http://80.92.67.227/test/xmltest/index.asp
au partir de cette page vous pourrez effectuer le test d'enregistrement de


nouvelle donnée, visualiser le xml généré, ainsi qu'accéder à la page index
reprenant le flash devant afficher les données...

Voilà deux nuits blanche et quelques litres de café passé qui ne m'ont


servi à rien...
Pourriez-vous me sortir de la patauge...
Merci à tous.
Spitfire220