1

ボタンをクリックするだけでストアド プロシージャの結果セットをグリッド ビューに表示するのに苦労しています。

私の問題は、3 層アーキテクチャに基づくポータルの既存のコードに取り組んでいるため、そのようなものを使用できないことですSqlDataAdapter。そのような機能は、dll の形式で利用可能ないくつかのメソッドによって既に組み込まれているためです。

グリッドビューのデータ ソースとしてaDataTableまたは aを返そうとしましたが、無駄でした。DataSet

グリッドビューのデータソースに割り当てることができる代替オブジェクトがあるかどうかを提案して、私を助けてください..私はこれが初めてです..どんな助けも大歓迎です!!

これが私のコードです:

データアクセス層:

public IDataReader BindGridView(string rgn)
{
    string spdName = "spd_get_default_region";
    DbCommand cmd = DB.GetStoredProcCommand(spdName);
    DB.AddInParameter(cmd, "Rgn", DbType.String, rgn);
    IDataReader idr = cmd.ExecuteReader();
    return  idr;
}

ここにGetStoredProcCommand、組み込みメソッドがあります。gvAllグリッドビューの ID です。

グリッド.aspx.cs:

protected void Go_Rgn_Click(object sender, EventArgs e)
{ 
    DAL da=new DAL();
    plhTable.Visible = true;
    plhChoose.Visible = false;
    plhForm.Visible = false;
    string Rgn = afRgn.Text;
    gvAll.DataSource = da.BindGridView(Rgn);
    gvAll.DataBind();
}
4

1 に答える 1

1

簡単な代替方法は、dataTableオブジェクトを作成することです。

DataTable defaultRegion = new DataTable();
defaultRegion.Load(cmd.ExecuteReader());
gvAll.DataSource = table;
gvAll.DataBind();
于 2012-05-26T19:46:28.447 に答える