2013-02-04 70 views
-2

我的應用程序除了patientNumber,然後使用VisitNumbers.ExampleNumber彈出訪問的下拉列表,爲每次訪問的患者生成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變更,患者編號在這個stmt「SELECT Visit_Number FROM患者a,訪問b」 +「WHERE a.Patient_Number = b.Patient_Number」; to @ 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中的錯誤現在我在填充下拉列表時遇到了問題 – kombo

+0

您可能想要在另一個問題的下拉列表中發佈一些更詳細的問題? –