2016-12-28 15 views
-1

リストからデータを取得する際に問題があり、選択したすべてのレコードの情報を取得する必要がありますが、これを行うことができますが、このデータはリスト<>テキストボックスに、私は私のアプリでの作業のためのクラスがあり、これが私のデータ層である:LISTの値を取得する<>

public List<Cajas> cajas_upd_cons_caja_detalle(string clienteCodigo, string cajaCodigo, int cajaNumero) 
{ 
    List<Cajas> ListCaj_x_Cod_CajNum = new List<Cajas>(); 
    string storedProcedure = "CAJAS_UPD_CONS_CAJA_DETALLE"; //stored procedure 

    using (DbConnection con = dpf.CreateConnection()) 
    { 
     con.ConnectionString = conStr; 
     using (DbCommand cmd = dpf.CreateCommand()) 
     { 
      cmd.Connection = con; 
      cmd.CommandText = storedProcedure; 
      cmd.CommandType = CommandType.StoredProcedure; 

      DbParameter param1 = cmd.CreateParameter(); 
      param1.DbType = DbType.String; 
      param1.ParameterName = "CLIENTE_CODIGO"; //param 
      param1.Value = clienteCodigo.Replace(" ", ""); 
      cmd.Parameters.Add(param1); 

      DbParameter param2 = cmd.CreateParameter(); 
      param2.DbType = DbType.String; 
      param2.ParameterName = "CAJA_CODIGO"; //param 
      param2.Value = cajaCodigo.Replace(" ", ""); 
      cmd.Parameters.Add(param2); 

      DbParameter param3 = cmd.CreateParameter(); 
      param3.DbType = DbType.String; 
      param3.ParameterName = "CAJA_NUMERO"; //param 
      param3.Value = cajaNumero; 
      cmd.Parameters.Add(param3); 

      con.Open(); 
      cmd.ExecuteNonQuery(); 
      using (DbDataReader dr = cmd.ExecuteReader()) 
      { 
       while (dr.Read()) 
       { 
        try 
        { 
         //THIS IS MY CLASS 
         Cajas caja = new Cajas(); // 

         caja.CajaContenido = dr["CONTENIDO"].ToString(); 
         caja.CajaEstado = dr["EST"].ToString(); 
         caja.FecEmisionDoc = Convert.ToDateTime(dr["EMISION"].ToString()); 
         caja.FecCaducidDoc = Convert.ToDateTime(dr["CADUCIDAD"].ToString()); 
         caja.CajaUbi1 = dr["UBI1"].ToString(); 
         caja.CajaUbi2 = dr["UBI2"].ToString(); 
         ListCaj_x_Cod_CajNum.Add(caja); 
        } 
        catch (System.InvalidCastException) 
        { } 
       } 
      } 
     } 
    } 
    return ListCaj_x_Cod_CajNum; 
} 

これは私のプレゼンテーションのクラスである:yがアプリケーションをデバッグする場合

protected void Page_Load(object sender, EventArgs e) 
{ 
    UpdCadDet_limpiarCampos(); 
    if (!IsPostBack) 
    { 
     clienteCodigo = Request.QueryString["cliCod"]; 
     cajaCodigo = Request.QueryString["cajCod"]; 
     cajaNumero = Request.QueryString["cajNum"]; 
     lblUpdCajDet_CliCod.Text = clienteCodigo; 
     lblUpdCajDet_CajCod.Text = cajaCodigo; 
     lblUpdCajDet_CajNum.Text = cajaNumero; 

     //this is only for testing 
     List<Cajas> cajastest = cajaUpd_BL.cajas_upd_cons_caja_detalle (clienteCodigo, cajaCodigo, Convert.ToInt32(cajaNumero)); 

    } 
} 

私は値を取得見ることができますDBから、しかし私の質問はどのように私のプレゼンテーションクラス(GUIで)それらを得ることができますです。

私は誰か助けてくれることを願っています。

よろしく

+2

追記得ることができます:あなたはは、ExecuteNonQuery 'で、二回クエリを実行しているが'と' ExecuteReader'です。 'ExecuteNonQuery'コールを削除することをお勧めします。 – Caramiriel

+0

あなた次第です。どのように表示したいですか?最も単純な考え方は、データグリッド(表形式)を使用することです。ここにあなたのためのリンクがあります:http://www.c-sharpcorner.com/uploadfile/anjudidi/example-of-datagrid-in-asp-net/ – Sparrow

+0

ありがとうCaramiriel 私はエラーがあったので私はテストしていました。データを取得しませんが、その部分は解決されます。私はそれを訂正します。 Thanks Feryal、 しかし、この情報は他のページのgridviewから来ています。次のようにレコードが変更されるため、すべてのレコードの詳細です –

答えて

0

おかげ を私は、リストの値を得ることができます:

List<Cajas> cajadetalle = cajaUpd_BL.cajas_upd_cons_caja_detalle 
      (clienteCodigo, cajaCodigo, Convert.ToInt32(cajaNumero)); 

     txtUpdCajDet_CajCon.Text = cajadetalle[0].CajaContenido.ToString(); 
     txtUpdCajDet_CajEst.Text = cajadetalle[0].CajaEstado.ToString(); 
     txtUpdCajDet_CajFem.Text = cajadetalle[0].FecEmisionDoc.ToString(); 
     txtUpdCajDet_CajFca.Text = cajadetalle[0].FecCaducidDoc.ToString(); 
     txtUpdCajDet_CajFal.Text = cajadetalle[0].AltaFecha.ToString(); 
     txtUpdCajDet_CajFba.Text = cajadetalle[0].BajaFecha.ToString(); 
     txtUpdCajDet_CajUb1.Text = cajadetalle[0].CajaUbi1.ToString(); 
     ...... 
     ...... 

だから私は、テキストボックス内の値

関連する問題