2012-05-21 82 views
0

我有一個像訪問SQL輸出編碼

TotalLeave Status 
---------- ------ 
    3  PaidLeave 
    5  MedicalLave 

一個SQL輸出,我需要證明我喜歡的標籤控制此值,

lblMedicalLeave.text = 5 
lblPaidLeave.text = 3 

這對我的數據集我剛剛創建的對象在我的代碼中,

StaffAttendanceStatusTableAdapters.StaffTypesTableAdapter staffAttendanceStatus = 
        new StaffAttendanceStatusTableAdapters.StaffTypesTableAdapter(); 
StaffAttendanceStatus.StaffTypesDataTable StaffDataTable = 
       staffAttendanceStatus.GetDataStaffAttendanceStatus(staff.StaffId); 

     if (StaffDataTable[0] != null) 
     { 
      StaffAttendanceStatus.StaffTypesRow StaffRow = StaffDataTable[0]; 

      lblTotalMedicalLeave.Text = StaffRow.TotalLeave.ToString(); 
      lblTotalPaidLeave.Text = StaffRow.TotalLeave.ToString(); 
     } 

它顯示相同的值(3),是否有可能獲得cor的TotalLeave值迴應狀態?任何人都可以幫我在這裏

+1

您正在訪問的同一行兩次。使用StaffDataTable [1]訪問第二行。無論如何,你應該檢查在訪問任何值之前是否有結果! –

+0

確切地說,我明白我的錯誤,Ÿ不要在回答會議上發帖,以便我可以將其標記爲答案 – shanish

回答

2

您正在訪問同一行兩次。使用StaffDataTable [1]訪問第二行。無論如何,你應該檢查在訪問任何值之前是否有結果!

using StaffAttendanceStatusTableAdapters; 
.... 


StaffTypesTableAdapter staffAttendanceStatus = new StaffTypesTableAdapter(); 
StaffAttendanceStatus.StaffTypesDataTable StaffDataTable = 
      staffAttendanceStatus.GetDataStaffAttendanceStatus(staff.StaffId); 

if (StaffDataTable != null && StaffDataTable.Count > 1) 
{ 
    lblTotalMedicalLeave.Text = StaffDataTable[0].TotalLeave.ToString(); 
    lblTotalPaidLeave.Text = StaffDataTable[1].TotalLeave.ToString(); 
} 

心連心

+0

感謝您的解決方案 – shanish

1

由於您需要從兩行中獲取TotalLeave,您需要從兩行中獲取數據。

if (StaffDataTable != null && StaffDataTable.Rows.Count > 1) 
{ 
    StaffAttendanceStatus.StaffTypesRow StaffRow1 = StaffDataTable[0]; 
    StaffAttendanceStatus.StaffTypesRow StaffRow2 = StaffDataTable[1]; 

    lblTotalMedicalLeave.Text = StaffRow1.TotalLeave.ToString(); 
    lblTotalPaidLeave.Text = StaffRow2.TotalLeave.ToString(); 
} 

如果沒有的PaidLeave和MedicalLave狀態順序,只是檢查row.Status和總價值分配給對應的標籤

+0

非常感謝UnhandledException,我知道了 – shanish