Hello

J'ai un probleme avec un DataGrid pour faire afficher une requete SQL qui join 3 tables. Avec 1 seule table je sais le faire et n'ai pas d'erreur, mais plus d'une table ca plante et je sais pas comment faire, voici mon code :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<%@PageLanguage="VB"AutoEventWireup="false"CodeFile="EntryExitResult.aspx.vb"Inherits="EntryExitResult" %>
<%@ImportNamespace="System" %>
<%@ImportNamespace="System.Data" %>
<%@ImportNamespace="System.Data.OleDb" %>
<%@ImportNamespace="System.Data" %>
<%@ImportNamespace="System.Data.SqlClient" %> 
<!
 
DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<
 
htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title></title>
</head>
<body>
<imgsrc="./Images/ProjectLogo.gif"/>
</br>
<ahref="javascript:window.history.go(-1)">Retour</a>
<formid="form1"runat="server">
<div>
<% 
Dim ObjetConnection As OleDbConnection
Dim ObjetCommand As OleDbCommand
Dim ObjetDataAdapter As OleDbDataAdapter
Dim ObjetDataSet AsNew DataSet
Dim ObjetDataTable AsNew DataTable
Dim strConn AsString
Dim ObjetCB As OleDbCommandBuilder
Dim ds As DataSet
Dim txtLastName AsString
Dim txtBadgeNbr AsString
Dim ddlstEnterprise AsString
Dim txtHyperLink AsString
Dim sqlString AsString
 
 
'Initialisation de la chaŒne de paramŠtres pour la connexion
strConn = 
 
"Provider=SQLOLEDB;" & "Data Source=10.199.80.10;Initial Catalog=InetDb;Persist Security Info=True;User ID=sa;Password=*****"
 
'Recuperation des variables
txtLastName = Replace(Request.Form("txtLastName"), "'", "''")
txtBadgeNbr = Replace(Request.Form("txtBadgeNbr"), "'", "''")
ddlstEnterprise = Request.Form("ddlstEnterprise")
txtHyperLink = Request.QueryString("id") 
 
sqlString = 
 
"SELECT "
sqlString = sqlString + "RptEventTypes.EventText, RptEvents.EventId, "
sqlString = sqlString + "RptEvents.DateTime, RptEvents.IndividualNdx, "
sqlString = sqlString + "RptEvents.FloatValue, RptIndividuals.IndividualNdx, "
sqlString = sqlString + "RptIndividuals.LastName, RptIndividuals.FirstName "
sqlString = sqlString + "FROM "
sqlString = sqlString + "InetDb.dbo.RptEventTypes RptEventTypes, InetDb.dbo.RptEvents RptEvents, "
sqlString = sqlString + "InetDb.dbo.RptIndividuals RptIndividuals "
sqlString = sqlString + "WHERE "
sqlString = sqlString + "RptEventTypes.EventTypeId = RptEvents.EventTypeNdx AND "
sqlString = sqlString + "RptEvents.TenantNdx = RptIndividuals.TenantNdx AND "
sqlString = sqlString + "RptEvents.IndividualNdx = RptIndividuals.IndividualNdx AND "
sqlString = sqlString + "RptEvents.FloatValue > 0. AND "
sqlString = sqlString + "(RptEventTypes.EventText = 'Reader entry' OR RptEventTypes.EventText = 'Reader exit') "
sqlString = sqlString + "ORDER BY "
sqlString = sqlString + "RptEvents.IndividualNdx ASC, RptEvents.EventId DESC, "
sqlString = sqlString + "RptEventTypes.EventText ASC, RptIndividuals.LastName ASC"
 
ObjetConnection = 
 
New OleDbConnection
ObjetConnection.ConnectionString = strConn
ObjetConnection.Open()
ObjetCommand = New OleDbCommand(sqlString)
ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
ObjetCommand.Connection() = ObjetConnection
ObjetCB = New OleDbCommandBuilder(ObjetDataAdapter)
 
ObjetDataAdapter.Fill(ObjetDataSet, "RptEventTypes")
ObjetDataAdapter.Fill(ObjetDataSet, "RptEvents")
ObjetDataAdapter.Fill(ObjetDataSet, "RptIndividuals") 
 
ObjetDataTable = ObjetDataSet.Tables(
 
"RptEventTypes")
ObjetDataTable = ObjetDataSet.Tables("RptEvents")
ObjetDataTable = ObjetDataSet.Tables("RptIndividuals")
 
dgEntryExit.DataSource = ObjetDataTable
dgEntryExit.DataBind()
%>
<asp:DataGridID="dgEntryExit"runat="server"AllowPaging="True"
AllowSorting="True"AutoGenerateColumns="False"CellPadding="4"
ForeColor="#333333"GridLines="None">
<FooterStyleBackColor="#507CD1"Font-Bold="True"ForeColor="White"/>
<EditItemStyleBackColor="#2461BF"/>
<SelectedItemStyleBackColor="#D1DDF1"Font-Bold="True"ForeColor="#333333"/>
<PagerStyleBackColor="#2461BF"ForeColor="White"HorizontalAlign="Center"/>
<AlternatingItemStyleBackColor="White"/>
<ItemStyleBackColor="#EFF3FB"/>
<Columns>
<asp:BoundColumnDataField="LastName"HeaderText="Nom de famille">
<HeaderStyleWidth="150px"/>
</asp:BoundColumn>
<asp:BoundColumnDataField="FirstName"HeaderText="Pr,nom">
<HeaderStyleWidth="150px"/>
</asp:BoundColumn>
<asp:BoundColumnDataField="RptEvents.DateTime"HeaderText="Date d'entr,e"></asp:BoundColumn>
<asp:BoundColumnDataField="EventText"HeaderText="Ev,nement">
</asp:BoundColumn>
</Columns>
<HeaderStyleBackColor="#507CD1"Font-Bold="True"ForeColor="White"/>
</asp:DataGrid>
</div>
</form>
</body>
</html>


Je pense avoir un probleme de comprehension au niveau des ObjetDataAdapter et des ObjetDataSet.Tables()
, je suis debutant alors si je peux avoir un peu d'explication...