2011-12-13 12 views
0

私はビューの患者ページを持っており、すべての患者を表示し、テキストボックスとドロップダウンリストを使用して患者の情報を更新できる別のページに移動する各患者の隣にリンクがあります。私はクエリ文字列を使用して特定の患者とリーダーのコマンドをデータベースから読み込むように選択しました。
問題は、読者がテーブルに全くアクセスしていないことです。リーダーを使用してテーブルを読み取るASP.NETとVB

pid = Request.QueryString("Pateint_ID") 

Dim tempQuery As String = "SELECT  P.first_name, P.sec_name, P.third_name, P.last_name, P.Gender, PATA.ApplicationStatus," & _ 
     "P.DoB, P.birthplace, P.Nationality, P.patient_ID, P.issue_date, P.issue_place, P.city, " & _ 
     "P.Area,h.Name , h.DialysisCetner, p.Mobile_No, p.Work_phone, p.PhoneNo, p.Zipcode, p.POBox, p.problemWithDialysis" & _ 
     "FROM   Association AS A INNER JOIN PatientApplyToAssociation AS PATA INNER JOIN" & _ 
     "patient AS P ON PATA.patient_ID = P.patient_ID ON A.Association_ID = PATA.Association_ID INNER JOIN " & _ 
     "hospital AS H INNER JOIN TreatmentSession AS ts ON ts.Name = H.Name ON p.patient_ID = ts.patient_ID LEFT OUTER JOIN Family AS F INNER JOIN" & _ 
     "Gardian AS G ON F.family_ID = G.GID INNER JOIN Relates AS R ON F.family_ID = R.family_ID ON P.patient_ID = R.patient_ID" & _ 
     "WHERE  (P.patient_ID = pid)" 

    Dim query As String = String.Format(tempQuery, pid) 

    Dim comm As New SqlCommand(query, con) 

    Dim reader As SqlDataReader 

    Try 

     con.Open() 

     reader = comm.ExecuteReader() 

     If reader.Read() Then 
      txtFirstName.Text = reader("first_name").ToString() 
      txtFatherName.Text = reader("sec_name").ToString() 
      txtGrandName.Text = reader("third_name").ToString() 
      txtFamilyName.Text = reader("last_name").ToString() 
      rblGender.SelectedValue = reader("Gender").ToString() 
      txtBirthdate.Text = reader("DoB").ToString() 
      ddlBirthPlace.SelectedValue = reader("birthplace").ToString() 
      txtNationality.Text = reader("Nationality").ToString() 
      txtIDCard.Text = reader("patient_ID").ToString() 
      ddlIssuePlace.SelectedValue = reader("issue_place").ToString() 
      txtIssuedate.Text = reader("issue_date").ToString() 
      ddlAddressCity.SelectedValue = reader("city").ToString() 
      ddlAddressRegion.SelectedValue = reader("area").ToString() 

     End If 

    Catch ex As Exception 
     MsgBox("somthing's wrong") 

    Finally 
     con.Close() 
    End Try 
+0

あなたはQueryStringでPatientIDを正しく綴っていますか? –

+0

私はそれを修正しましたが、まだ動作していません。msgboxに直接行きます。ありがとう – Nada

+0

あなたのコードは 'If reader.Read()Then'文を入力してエラーになりますか?または例外がスローされます。あなたは 'MsgBox(「何かが間違っている」)'少なくともex:メッセージを含めるべきです: 'MsgBox(「何かが間違っています」とex.Message)' – slolife

答えて

0

最後のコメントに基づいて、私はそのSQLの問題を推測しています。私はまずあなたのクエリを取って、それが有効であることを確認するためにクエリアナライザで実行します。

あなたの質問は正しくありません。 は、それが読みやすいだったので、あなたのクエリを掃除した後、私はあなたのON句を持っていけない加入のこの

SELECT  P.first_name, P.sec_name, P.third_name, P.last_name, P.Gender, PATA.ApplicationStatus, 
    P.DoB, P.birthplace, P.Nationality, P.patient_ID, P.issue_date, P.issue_place, P.city, 
    P.Area,h.Name , h.DialysisCetner, p.Mobile_No, p.Work_phone, p.PhoneNo, p.Zipcode, p.POBox, p.problemWithDialysis 
    FROM   Association AS A INNER JOIN PatientApplyToAssociation AS PATA 
    INNER JOIN patient AS P ON PATA.patient_ID = P.patient_ID ON A.Association_ID = PATA.Association_ID 
    INNER JOIN hospital AS H 
    INNER JOIN TreatmentSession AS ts ON ts.Name = H.Name ON p.patient_ID = ts.patient_ID 
    LEFT OUTER JOIN Family AS F 
    INNER JOIN Gardian AS G ON F.family_ID = G.GID INNER JOIN Relates AS R ON F.family_ID = R.family_ID ON P.patient_ID = R.patient_ID 
    WHERE  (P.patient_ID = pid) 

お知らせ2に気づきましたか?言い換えれば、複数のON句を持つ3つの結合はありますか?

関連する問題