0

セッション値に基づいてスカラー結果を取得するクラスがあります。データベースにクエリを実行するために PetaPoco を使用しています。結果は PetaPoco ExecuteScalar メソッドによって正常に返されますが、この値を呼び出し元のページのコントロールに渡すことができません。

このクラスのメソッドは、Page Load イベントで呼び出されます。

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();
4

1 に答える 1

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

また、データベースにこのレコードの null エントリがある可能性があると思います。

于 2012-03-02T08:47:38.797 に答える