Arhn - архитектура программирования

Отображение таблицы на веб-странице из базы данных

Я создаю веб-сайт, который позволяет пациенту войти в систему и увидеть свои собственные данные. До сих пор, когда они входят в систему, они перенаправляются на страницу user.aspx, и сеанс отображает их имя пользователя на метке из таблицы пациентов (я включил информацию о сеансе, чтобы помочь с вопросом) ... Но я также хочу таблицу для отображения информации о лекарствах, соответствующих пациентам:

Таблица пациентов (все таблицы являются фиктивными данными):

стол пациента

Медицинский стол:

Медицина

Сеанс после входа проходит аутентификацию в файле login.aspx:

Public Function CheckUser(username As String, password As String) As Integer
    Dim cmdstring As String = "SELECT * FROM Patient  Where Username=@USERNAME AND Password=@PASSWORD"
    Dim found = 0
    Using conn As New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Laura\Final_proj\App_Data\surgerydb.mdf;Integrated Security=True;Connect Timeout=30")

        Dim cmd = New SqlCommand(cmdstring, conn)
        cmd.Parameters.Add("@USERNAME", SqlDbType.NChar).Value = username
        cmd.Parameters.Add("@PASSWORD", SqlDbType.NChar).Value = password
        conn.Open()



        Dim reader = cmd.ExecuteReader()

        While reader.Read()
            Session("PatientId") = CInt(reader.Item("PatientId"))
            Session("Username") = CStr(reader.Item("Username"))
            found = CInt(reader.Item("PatientId"))
        End While

        reader.Close()
    End Using
    Return (found)
End Function

Метка, отображающая имя пользователя в метке в user.aspx:

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    Label1.Text = Session("Username")
End Sub

У меня есть другая таблица, называемая рецептом (таблица ссылок), в которой есть составные ключи Patientid (из таблицы пациентов) и Medicine (из таблицы лекарств) — оба внешних ключа.

введите здесь описание изображения

Когда пользователь входит в систему, как я могу отобразить таблицу «Лекарства», показывающую соответствующее лекарство пользователя и информацию из таблицы (имя, цель, инструкции) на user.aspx. Сделаю ли я это с помощью gridview из Toolbox?

Не уверен, где я ошибаюсь с решением здесь

введите здесь описание изображения

ошибки: введите здесь описание изображения


  • ваша проблема решилась? 11.06.2016

Ответы:


1

да, просто добавьте представление сетки из панели инструментов на странице user.aspx и запустите приведенную ниже строку кода в событии загрузки страницы страницы user.aspx.

Partial Class Pages_user
    Inherits System.Web.UI.Page

    Sub Page_Load(ByVal Sender As System.Object, ByVal e As System.EventArgs)

        If Not IsPostBack Then
            Dim conn As New System.Data.SqlClient.SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Laura\Final_proj\App_Data\surgerydb.mdf;Integrated Security=True;Connect Timeout=30")
            Dim cmdstring As String = "SELECT pt.PatientId, pt.ForeName, pt.Username, md.Name, md.Purpose, md.Instrcutions  " +
                                        "FROM Patient pt INNER JOIN prescription pr ON pt.PatientId = pr.PatientId  " +
                                        "INNER JOIN medicine md ON md.MedicineId = pr.MedicineId Where pt.PatientId  = @PatientId"
            Dim dt As New System.Data.DataTable()
            Dim da As New System.Data.SqlClient.SqlDataAdapter(cmdstring, conn)
            da.SelectCommand.Parameters.Add("@PatientId", System.Data.SqlDbType.Int).Value = CInt(Session("PatientId").ToString())
            conn.Open()
            da.Fill(dt)
            conn.Close()

            GridView1.DataSource = dt
            GridView1.DataBind()
        End If

    End Sub
End Class

И код вашей страницы aspx будет

<%@ Page Title="" Language="VB" MasterPageFile="~/Masterpages/MasterPage2.master" AutoEventWireup="true" CodeFile="user.aspx.vb" Inherits="Pages_user" %>

<asp:Content ID="Content1" ContentPlaceHolderID="title" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="head" runat="Server">
    <style type="text/css">
        .auto-style2 {
            font-size: x-large;
        }
 </style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="contentbody" runat="Server" Inherits="Pages_user" CodeFile="Pages_user.aspx.vb">

    <p>
       <span class="auto-style2">Please Select Your Medication&nbsp;&nbsp;&nbsp;
        </span>

    </p>

    <asp:GridView ID="GridView1" runat="server" ></asp:GridView>

</asp:Content>
11.06.2016
  • Привет, Назир. Спасибо, что нашли время ответить на этот вопрос. Я продолжаю застревать, не могли бы вы помочь мне немного дальше? Я указал ошибки выше в вопросе (новые изображения), не уверен, где я ошибаюсь 11.06.2016
  • какая строка кода вызывает ошибку и какая ошибка, можете ли вы поделиться со мной 11.06.2016
  • Привет, Назир :) Я предоставил изображение, показывающее код и ошибки выше. 11.06.2016
  • вы должны поместить этот код в событие загрузки страницы, а не вверху страницы 11.06.2016
  • Sub Page_Load(ByVal Sender As System.Object, ByVal e As System.EventArgs) 'поместите сюда код End Sub 11.06.2016
  • Назир, извини, я не понял, что когда я пошел тестировать код, у меня его не было в событии загрузки страницы - спасибо за то, что ты был так терпелив со мной, но я не решил эту проблему - я снова отредактировал свой вопрос с обоими изображения, указывающие на ошибки 11.06.2016
  • Я обновил свой код, скопировал полный код и заменил код всей страницы 11.06.2016
  • а также добавьте ‹asp:GridView runat=server ID=Gridview1›‹/asp:GridView› на странице aspx 11.06.2016
  • Давайте продолжим обсуждение в чате. 11.06.2016
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..