У меня есть запрос, который извлекает значения из таблицы в MS Access
SELECT
tblInstructor.InstructorID,
tblInstructor.Football AS InstructorRole,
tblInstructor.Gym AS InstructorRole,
tblInstructor.Yoga AS InstructorRole
FROM
tblInstructor
WHERE
tblInstructor.InstructorID = @InstructID
OR tblInstructorRole.Football = 1
OR tblInstructorRole.Gym = 1
OR tblInstructor.Yoga = 1
Затем я делаю привязку данных к сетке
На моей странице aspx я использую следующий метод для построения моих столбцов в сетке
<asp:TemplateField HeaderText="Instructor ID">
<ItemTemplate >
<asp:Label ID="lblInstructorID" runat="server" Text='<%# Eval("InstructorID") %>' >
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
У меня возникла проблема, связанная с тем, что я получаю ошибку множественных возвратов, однако у каждого инструктора есть только одна роль, поэтому я пытаюсь получить роль инструктора, т.е. в зависимости от того, верно ли это, используя мой оператор sql выше а затем установите столбец роли инструктора с ролью инструктора
<asp:TemplateField HeaderText="Instructor Role">
<ItemTemplate >
<asp:Label ID="lblInstructRole" runat="server" Text='<%# Eval("InstructorRole") %>' >
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
В моей таблице есть 3 отдельных поля для ролей инструктора: футбол, спортзал, йога, которые являются истинными / ложными значениями в расписании инструктора. Я пытался (без удачи) получить столбец InstructorRole в сетке, чтобы отобразить текст их роли, т.е. футбольный мяч
Я также пытался сделать следующее:
If myReader(3) = True then
Dim Role1 As String = DataBinder.Eval(e.Item.DataItem,"InstructorRole")
Role1 = "Football"
elseif myReader(4) = true then
Dim Role2 As String = DataBinder.Eval(e.Item.DataItem,"InstructorRole")
Role1 = "Gym"
Если бы кто-нибудь мог посоветовать мне, что делать, я не могу понять это.