2013-02-04 6 views
-2

patientNumber를 제외한 애플리케이션에서는 VisitNumbers.A를 사용하여 방문에 대한 드롭 다운을 수행합니다. VisitNumber는 방문 할 때마다 환자에 대해 생성됩니다. 내가 검색 버튼을 환자의 visitNumber을 얻기를 클릭하고 내가 얻을 수있는 DropDownList 및 오류를 채울 때응용 프로그램 SQL 문에 논리 오류가 발생했습니다.

Line 35:     { 
Line 36:      con.Open(); 
Line 37:      SqlDataReader reader = cmd.ExecuteReader(); 
Line 38:      
Line 39:      reader = cmd.ExecuteReader(); 



Stack Trace: 


[SqlException (0x80131904): Incorrect syntax near '.'. 
Incorrect syntax near 'a'.] 
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +1753346 

HERE IS MY CODE: 

public List<string> Get_VisitNumber() 
    { 
     List<string> visitnum = new List<string>(); 
     string patient_number = txtPatientNumber.Text; 

     string connect =  
System.Configuration.ConfigurationManager.ConnectionStrings["db_connection"].ToString(); 
     SqlConnection con = new SqlConnection(connect); 
     string select_statement = "SELECT Visit_Number FROM Patient a ,Visit b" 
      + "WHERE a.Patient_Number=b.Patient_Number"; 


     SqlCommand cmd = new SqlCommand(select_statement, con); 


     cmd.Parameters.AddWithValue("@b.Patient_Number", patient_number); 

     using (con) 
     { 
      con.Open(); 
      SqlDataReader reader = cmd.ExecuteReader(); 

      reader = cmd.ExecuteReader(); 
      while (reader.Read()) 
      { 
       if (reader["Patient_Number"] != DBNull.Value) 
       { 
        string VID = reader["Visit_Number"].ToString(); 
        visitnum.Add(VID); 
       } 
       else 
       { 
        Response.Write("<script language=javascript>alert('Patient Number not Found.');</script>"); 

       } 


      }// end while 





     } // end using 

     return visitnum; 
    } 





    protected void btn_search_Click(object sender, EventArgs e) 
    { 
     DropDownList1.DataSource = Get_VisitNumber(); 

     DropDownList1.DataBind(); 
    } 
+0

하고 SQL 코드 – Satya

+0

난 그냥 지금 내 코드를 게시 한 – kombo

+0

가 B를 변경하려고 할 것입니다 , patient_number from this stmt "SELECT Visit_Number FROM 환자 a, 방문 b" + "WHERE a.Patient_Number = b.Patient_Number"; @ b.patient_number – Satya

답변

1
나는 데이터베이스에 대해 당신의 SQL을 테스트하여 시작할 것

당신이 시도하기 전에 올바른 구문을 가지고 있는지 확인하기 코드에서 작동하도록하십시오.

뭔가

declare @patient_number int 
set @patient_number = 1 

SELECT b.Visit_Number 
FROM Patient a 
join Visit b on (a.patient_number = b.patient_number) 

WHERE a.Patient_Number = @Patient_Number 

당신은 당신의 SQL을 사용하면 코드로 다시 점점 작업을 할 수 작동 알게되면

같은

+0

나는 sql.But에서 내 오류를 보았습니다. 이제 dropdownlist를 채우는 데 문제가 있습니다. – kombo

+0

다른 질문의 드롭 다운 목록에 문제가 무엇인지 좀 더 자세하게 게시하고 싶습니까? –

관련 문제