2012-03-02 1 views
0

나는 세션 값을 기반으로 스칼라 결과를 검색하는 클래스를 가지고있다. PetaPoco를 사용하여 데이터베이스를 쿼리하고 있습니다. 결과는 PetaPoco ExecuteScalar 메서드에 의해 성공적으로 반환되지만 호출하는 페이지의 컨트롤에이 값을 전달할 수는 없습니다.클래스에서 Web Form의 Ext.Net 컨트롤로 스칼라 결과를 전달하는 방법은 무엇입니까?

이 클래스의 메소드는 페이지로드 이벤트에서 호출됩니다

public class GetCustomerRecord 
{ 
    public void RetrieveRecord(Page page) 
    { 
     string queryGetRecord = ""; 
     GetConnectionString getConString = new GetConnectionString(); 
     var DB = new PetaPoco.Database("ConnectionCustomer"); 

     queryGetRecord = "SELECT pcnum FROM [Customers] WHERE [record_id] = " + Convert.ToInt32(HttpContext.Current.Session["RecordID"]); 

     TextField PCNumber = (TextField)page.FindControl("txtPCNum"); 
     var pcnum = DB.ExecuteScalar<string>(queryGetRecord); 
     PCNumber.Text = pcnum.ToString(); 
    } 
} 

내가 얻을 오류 : 개체 참조가 마지막 줄에있는 개체, 즉의 인스턴스로 설정되지 않았습니다

PCNumber.Text = pcnum.ToString(); 
+0

PCNumber에 값이 있는지 (예 : txtPCNum 컨트롤에 대한 참조가 성공적으로 있는지) 확인 하시겠습니까? – patmortech

답변

0
var pcnum = Convert.ToString(DB.ExecuteScalar(queryGetRecord)); 

나는 또한 당신이 당신의 데이터베이스에이 레코드에 대해 null 엔트리를 가지고 있다고 생각한다.

+0

값은 null이 아닙니다. 오류는 마지막 행에 있습니다. 컨트롤의 텍스트를 설정할 수 없습니다. – RKh

+0

PCNumber 란 무엇입니까? 메모리 또는 null 값이 있는지 확인하십시오. – Pankaj

+0

주어진 TextBox의 이름입니다. – RKh