2015-02-10 28 views
0

我正在創建類別列表ExpandWindow使用類中的方法JobComponent。我將如何從的JobDetail訪問JobDateTime招賢納才和值分配給DateTimeTextBlock?下面在創建的列表中選擇行中的項目

代碼:

ExpandWindow.cs

public ExpandWindow(int jobId) 
    { 
     InitializeComponent(); 
     List<JobComponent.JobList> jobDetail = JobComponent.SelectJobBooking(jobId); 
    } 

JobComponent.cs

public static List<JobList> SelectJobBooking(int jobId) 
    { 
     const string query = "SELECT t1.datetime FROM booking t1 " + 
          "WHERE [email protected]"; 
     var jobList = new List<JobList>(); 
     using (var cmd = new MySqlCommand(query, DbObject.Connection)) 
     { 
      if (DbObject.Connection.State != ConnectionState.Open) 
      { 
       DbObject.OpenConnection(); 
      } 
      cmd.Parameters.AddWithValue(("@id"), jobId); 
      try 
      { 
       using (MySqlDataReader dataReader = cmd.ExecuteReader()) 
       { 
        while (dataReader.Read()) 
        { 
         var item = new JobList 
         { 
          JobDateTime = dataReader["datetime"] + "" 
         }; 
         jobList.Add(item); 
        } 
        dataReader.Close(); 
        DbObject.CloseConnection(); 
        return jobList; 
       } 
      } 
      catch (Exception ex) 
      { 
       ErrorHandlingComponent.LogError(ex.ToString()); 
       throw; 
      } 
     } 
    } 
+0

能否請您進一步解釋一下您遇到的問題?不太清楚這裏的問題是什麼!也似乎這不會編譯,因爲你的方法不會總是返回結果 – 2015-02-10 15:51:04

+0

我已經改寫了這個問題。希望現在更清楚。我有一個SQL語句帽子返回一個單行和一列的列表,我試圖訪問該單行中的項目。我該怎麼去做呢? – methuselah 2015-02-10 15:52:26

+0

該方法是否總是返回一個項目? – 2015-02-10 15:53:16

回答

1

不清楚自己想要什麼在這裏,但認爲你會得到的想法如何獲取JobDateTime。

public ExpandWindow(int jobId) 
    { 
     InitializeComponent(); 
     List<JobComponent.JobList> jobDetail = JobComponent.SelectJobBooking(jobId); 

     if(jobDetail == null) return; 

     var item = jobDetail.FirstOrDefault(); 
     if(item == null) return; 

     yourDatetimeControl.Value = item.JobDateTime; 
    }