Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : creation d'une datarelation [ Archives ASP & ASP.NET / ASP.net ] (harbonne)

vendredi 20 mai 2005 à 10:38:09 | creation d'une datarelation

harbonne



curieuse_asp


Bonjour,

 

Voici la situation:

 

j'ai crée une table TERME qui contient des termes choisis par un documentaliste.

 

Le structure de cette table est la suivante :

 

ID_TERME, Lib_TERME( libellé du terme), EM( numéro de synonyme qui est également un terme), NA( chaine de caractères), DATE.

 

J'ai crée une table GENERIQUES qui contient les termes de la table TERME avec leur terme(s) générique(s) (générique signifie qui se situe à un niveau hiérarchique supérieur dans une arborescence)

 

La structure de la table générique est la suivante :

ID_TG( n° incrémenté), ID_TERME_SOURCE ( qui est le numéro du terme dans la table TERME qui possède un terme générique), ID_TERME_GENERIQUE qui est le numéro du terme générique qui est lui même un terme de la table TERME..

 

Dans la table GENERIQUES il existe des termes qui n'ont pas de terme générique parce que ce sont des termes RACINE et les concernant, la valeur du champ ID_TERME_GENERIQUE = 0

 

J'aimerais crée un treeview qui montre :

 

-toutes les racines

 

-tous les termes qui ont les racines pour terme générique, c'est à dire pour lesquels les racines sont situées à un niveau hiérarchique supérieur.

exemple:
agriculture(terme racine)
               agriculturebiodynamique(terme qui a pour terme générique la racine 'agriculture' 

J'ai crée deux Data Adapter qui servent à la communication entre un data set et la source de données (sql serveur).

 

J'ai crée un dataset objDS rempli du contenu du résultat de deux sélections par le biais de deux requêtes sql.

 

Il se trouve que le deuxième dataadapter da2 remplit le dataset objDS du contenu d'une table GENERIQUES qui est une table enfant de la première table "RACINES".

 

J'ai donc besoin de créer une DATARELATION mais le code implémenté ne fonctionne pas bien.

En fait , les deux requêtes sql se font sur les mêmes tables 'TERME' et 'GENERIQUES' etje ne sais pas comment déterminer la clé primaire et la clé etrangère pour créer la datarelation.

voici le code implémenté:

[code]

Imports System.Data

Imports System.Data.SqlClient

Imports Microsoft.Web.UI.WebControls

Public Class TreeView1

Inherits System.Web.UI.Page

Protected WithEvents TreeView1 As Microsoft.Web.UI.WebControls.TreeView

Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim sConnString As String = "Data Source = localhost ; Initial Catalog =THESAURUS ; User Id =""; Password=""; integrated security = SSPI"

Dim objConn As New SqlConnection(sConnString)

objConn.Open()

Dim objDS As New DataSet()

Dim dt1 As DataTable

Dim dt2 As DataTable

Dim i As Integer

'creation d'un Adapter qui se charge des communications entre le Dataset et la source de données

Dim da1 As New SqlDataAdapter("SELECT Lib_TERME from TERME WHERE ID_TERME IN (SELECT ID_TERME_SOURCE_G from GENERIQUES WHERE ID_TERME_GENERIQUE = 0)", objConn)

da1.Fill(objDS, "RACINES")

dt1 = objDS.Tables("RACINES")

'autre DataAdapter qui va prendre les enfants de dette racine

Dim da2 As New SqlDataAdapter("SELECT Lib_TERME from TERME WHERE ID_TERME IN (SELECT ID_TERME_SOURCE_G from GENERIQUES WHERE ID_TERME_GENERIQUE = ID_TERME)", objConn)

'je fais un fill avec un nom de table enfant

da2.Fill(objDS, "GENERIQUES")

dt2 = objDS.Tables("GENERIQUES")

For i = 1 To dt1.Columns.Count

If dt1.Columns(0).ColumnName = dt2.Columns(i).ColumnName Then

Dim RACINES_GENERIQUES1 As New DataRelation(dt2.TableName & "_" & dt1.TableName, dt2.Columns(0), dt1.Columns(i))-> c'est ici que cela pose problème!!

objDS.Relations.Add(RACINES_GENERIQUES1)

End If

Next

' objDS.Tables("RACINES").Columns("ID_TERME_SOURCE_G"), objDS.Tables("GENERIQUES").Columns("ID_TERME"))

objConn.Close()

'création des types de données du tree view

Dim nodeTERME As TreeNode

Dim rowTERME As DataRow

For Each rowTERME In objDS.Tables(0).Rows

nodeTERME = New TreeNode()

nodeTERME.Text = rowTERME("Lib_TERME")

TreeView1.Nodes.Add(nodeTERME)

Next

End Sub

End Class

[/code]

Merci beaucoup de votre aide par avance.
Bien cordialement.


vendredi 10 juin 2005 à 15:46:43 | Re : creation d'une datarelation

lmu

Je pense que c'est une erreure d'écriture, essaie :
Dim RACINES_GENERIQUES1 As New DataRelation(dt2.TableName & _
dt1.TableName, dt2.Columns(0), dt1.Columns(i))

vendredi 10 juin 2005 à 16:31:33 | Re : creation d'une datarelation

lmu

Pardon
Dim RACINES_GENERIQUES1 As New DataRelation(dt2.TableName, & _
dt1.TableName, dt2.Columns(0), dt1.Columns(i))



Cette discussion est classé dans : table, id, terme, objds, generiques


Répondre à ce message

Sujets en rapport avec ce message

pb integrite referentielle + relations acces2000 + asp [ par frenzy ] bonjour tlm :soit 2 tables (et leurs champs) :table_a (id_a, nom_a, id_b)table_b (id_b, nom_b)tables reliées avec intégrité referentielle (access 2000 Pb ds 1 de mes requetes SQL [ par pedro13 ] Bonjour à tous, Je m'adresse à vous car je commence à tourner en ronde et ne voie pas ce qui ne marche dans ce que je veux effectuer. J'ai actuellment delete d'une table avec jointure [ par fedfil ] bonjour,vala j'ai un petit pb... je vous expliquej'ai 3 table : une table user, une table group et une table de liaison user_group.les champs qui nous Erreur sql [ par Jackboy ] J'ai un erreur avec ma bd, je fais la recherche d'un certain enregistrement selon un id et un erreur survient...sqlString = "SELECT * FROM DATASET " & recuperation champ et update dans une autre table [ par drjey ] Salut, Je cherche a recuperer dans une table (towns) le numero ("id" en autonum) qui correspond a la ville, pour ensuite dans une autre table (main) f update table a partir d'une autre table [ par drjey ] Salut, Je cherche a recuperer dans une table (towns) le numero ("id" en autonum) qui correspond a la ville, pour ensuite dans une autre table (main) f SiteMapPath et table autjointive [ par Sobieski ] Bonjour.J'ai une table Auto-Jointive (de type ID, MASTER_ID), et je souhaiterais à partir de cette table utiliser le composant SiteMapPath.Comment fai trigger en SQL server [ par Kurul1 ] Bonjour à tous J'ai un petit souci avec les triggers. J'ai une table zone avec un identifiant id_zone et un libelle libelle_zone. Jusque là, pas de pb Affichage BDD [ par Ragnar69 ] Bon c mon premier script en ASP...j'arrive a me connecter ma a base et à afficher une table donnée.ensuite j'aimerai faire la chose suivante:j'ai une a l'aide , combo box !!! [ par bakchlada ] Bijour ,  j'ai un probleme avec des combo box (des listes deroulantes si vous voulez ) , ces combo box sont remplis directement par une base de donnée


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.