begin process at 2012 02 10 19:15:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

ASP.net

 > 

creation d'une datarelation


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

creation d'une datarelation

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ée 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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales