2015-05-26 26 views
2

所以我想從列表框中讀取選定的項目,並從數據庫中選擇從列表框中的id =值,並顯示消息框的全部細節...但我不能找到它我得到罰球錯誤可以有人幫我如何解決這一個...閱讀ListBox SelectedItem和從數據庫中選擇其中id =值

代碼

public List<Students> FullDetails(Students student) 
     { 
      List<Students> studentList = new List<Students>(); 
      try 
      { 
       command.CommandText = "SELECT FROM Students WHERE ID = " + student.Id; 

       command.CommandType = CommandType.Text; 
       connection.Open(); 

       OleDbDataReader reader = command.ExecuteReader(); 

       while (reader.Read()) 
       { 
        Students s = new Students(); 
        s.Id = Convert.ToInt32(reader["ID"].ToString()); 
        s.Name = reader["Name"].ToString(); 
        s.LName = reader["LName"].ToString(); 
        s.FName = reader["FName"].ToString(); 
        s.MName = reader["MName"].ToString(); 
        s.Absences = reader["Absences"].ToString(); 
        s.Degrees = reader["Degrees"].ToString(); 

        studentList.Add(s); 
       } 
       return studentList; 
      } 
      catch (Exception) 
      { 
       throw; 
      } 
      finally 
      { 
       if (connection != null) 
       { 
        connection.Close(); 
       } 
      } 
     } 

表單代碼

Students s = new Students(); 
s = search_ls.SelectedItem as Students; 
string fd = conn.FullDetails(s).ToString(); 
MessageBox.Show(fd); 

回答

3

你似乎錯過字段列表您選擇素t查詢。我想你的意思是SELECT和FROM之間的星號:

SELECT * FROM Students WHERE ID = ...