Trucsweb.com

Forum de discussion

 Forum « Programmation ASP » (archives)

asp.net connexion dataset à des tables

Envoyé: 4 avril 2005, 6h34 par harbonne


Bonjour,

J'ai crée un data set qui doit permettre la liaison à deux tables TERME1 et TERME2; or à l'affichage je ne vois que le contenu de la table TERME2.
Pourriez vous me dire ce qui ne va pas; en fait, je pense que je ne maîtrise pas bien le concept de liaison d'un dataset à plusieurs tables.
voici le code implémenté:
[code]

Imports System.Data.SqlClient
Imports System.Data

Public Class recherche_gest_thesaurus
Inherits System.Web.UI.Page
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents ListBox1 As System.Web.UI.WebControls.ListBox
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Protected WithEvents label_affiche_listealpha As System.Web.UI.WebControls.Label

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

Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sSQLSelect1 As String = " SELECT Lib_TERME ,COLONNEBIS = CASE WHEN EM =0 THEN TERME1.Lib_TERME ELSE TERME1.Lib_TERME + '*ND*' END FROM TERME1"
'Dim sSQLSelect2 As String = "SELECT*, COLONNEBIS1 =CASE WHEN EM= 0 THEN TERME2.Lib_TERME ELSE TERME2.Lib_TERME + '*ND*' END FROM TERME2"

'création d'un objet de type Adapter pour chaque table concernée qui établit une liaison entre le DataSet et les données
Dim mAdapRapide1 As New SqlDataAdapter(sSQLSelect1, sConnString)


'création du DataSet
Dim mDs As New DataSet()
mAdapRapide1.Fill(mDs, "TERME1")
ListBox1.DataMember = "TERME1"
ListBox1.DataTextField = "COLONNEBIS"
ListBox1.DataSource = mDs.Tables(0)
ListBox1.DataBind()


Dim sSQLSelect2 As String = "SELECT Lib_TERME, COLONNEBIS1 =CASE WHEN EM= 0 THEN TERME2.Lib_TERME ELSE TERME2.Lib_TERME + '*ND*' END FROM TERME2"
'création d'un objet de type Adapter qui établit une liaison entre le DataSet et les données
Dim mAdapRapide2 As New SqlDataAdapter(sSQLSelect2, sConnString)
'création du Deuxième DataAdapter
mAdapRapide2.Fill(mDs, "TERME2")
ListBox1.DataMember = "TERME2"
ListBox1.DataTextField = "COLONNEBIS1"
ListBox1.DataSource = mDs.Tables(1)
ListBox1.DataBind()

End Sub


End Class


En deuxième étape, j'ai crée des datacolumns que j'ai liées au dataset, mais je mensens un peu perdue, du fait qu'ensuite, normalement, je dois faire la même chose avec les data row; or il y a beaucoup de lignes dans ma table TERME1, je ne vais pas m'mauser à toiutes les lier au datatable, c'est beaucoup trop lourd;
Pourrais tu me dire comment faire; je tourne en rond depuis pas mal de temps.

Imports System.Data.SqlClient
Imports System.Data

Public Class recherche_gest_thesaurus
Inherits System.Web.UI.Page
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents ListBox1 As System.Web.UI.WebControls.ListBox
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Protected WithEvents label_affiche_listealpha As System.Web.UI.WebControls.Label
Private sConnString As String = "Data Source = localhost ; Initial Catalog =THESAURUS ; User Id =""; Password=""; integrated security = SSPI"

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



Dim sSQLSelect1 As String = " SELECT Lib_TERME, COLONNEBIS = CASE WHEN EM =0 THEN TERME1.Lib_TERME ELSE TERME1.Lib_TERME + '*ND*' END FROM TERME1"
'Dim sSQLSelect2 As String = "SELECT*, COLONNEBIS1 =CASE WHEN EM= 0 THEN TERME2.Lib_TERME ELSE TERME2.Lib_TERME + '*ND*' END FROM TERME2"

'création d'un objet de type Adapter pour chaque table concernée qui établit une liaison entre le DataSet et les données
Dim mAdapRapide1 As New SqlDataAdapter(sSQLSelect1, sConnString)


'création du DataSet
Dim mDs As New DataSet()
mAdapRapide1.Fill(mDs, "TERME1")

Dim sSQLSelect2 As String = "SELECT Lib_TERME, COLONNEBIS1 = CASE WHEN EM= 0 THEN TERME2.Lib_TERME ELSE TERME2.Lib_TERME +'*ND*' END FROM TERME2"

'création d'un objet de type Adapter qui établit une liaison entre le DataSet et les données
Dim mAdapRapide2 As New SqlDataAdapter(sSQLSelect2, sConnString)
mAdapRapide2.Fill(mDs, "TERME2")
création des deux tdatatzble liés au dataset mDs
Dim dt1 As DataTable = New DataTable("TERME1")
Dim dt2 As DataTable = New DataTable("TERME2")
Dim dcID As DataColumn
dcID = New DataColumn()
dcID.DataType = System.Type.GetType("numeric")
dcID.ColumnName = "ID_TERME"
dcID.ReadOnly = False
dcID.Unique = True
dt1.Columns.Add(dcID)
dt2.Columns.Add(dcID)
Dim dcLIB As DataColumn
dcLIB = New DataColumn()
dcLIB.DataType = System.Type.GetType("System.Int32")
dcLIB.ColumnName = "Lib_TERME"
dcLIB.ReadOnly = False
dcLIB.Unique = False
dt1.Columns.Add(dcLIB)
dt2.Columns.Add(dcLIB)

Dim dcTG As DataColumn
dcTG = New DataColumn()
dcTG.DataType = System.Type.GetType("numeric")
dcTG.ColumnName = "TG_TERME"
dcTG.ReadOnly = False
dcTG.Unique = False
dt1.Columns.Add(dcTG)
dt2.Columns.Add(dcTG)
Dim dcTA As DataColumn
dcTA = New DataColumn()
dcTA.DataType = System.Type.GetType("numeric")
dcTA.ColumnName = "TA"
dcTA.ReadOnly = False
dcTA.Unique = False
dt1.Columns.Add(dcTA)
dt2.Columns.Add(dcTA)

Dim dcEM As DataColumn
dcEM = New DataColumn()
dcEM.DataType = System.Type.GetType("numeric")
dcEM.ColumnName = "EM"
dcEM.ReadOnly = False
dcEM.Unique = False
dt1.Columns.Add(dcEM)
dt2.Columns.Add(dcEM)

Dim dcNA As DataColumn
dcNA = New DataColumn()
dcNA.DataType = System.Type.GetType("text")
dcNA.ColumnName = "NA"
dcEM.ReadOnly = False
dcEM.Unique = False
dt1.Columns.Add(dcNA)
dt2.Columns.Add(dcNA)

Dim dcDATE As DataColumn
dcDATE = New DataColumn()
dcDATE.DataType = System.Type.GetType("text")
dcDATE.ColumnName = "NA"
dcDATE.ReadOnly = False
dcDATE.Unique = False
dt1.Columns.Add(dcDATE)
dt2.Columns.Add(dcDATE)
mDs.Tables.Add(dt1)
mDs.Tables.Add(dt2)
ListBox1.DataSource = mDs.Tables
ListBox1.DataBind()

End Sub

End Class


Réponses

 Aucune réponse à ce message... 
Aucun médias sociaux
X

Trucsweb.com Connexion

X

Trucsweb.com Mot de passe perdu

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte