Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从列表中检索值<&燃气轮机;_C#_Asp.net_List - Fatal编程技术网

C# 从列表中检索值<&燃气轮机;

C# 从列表中检索值<&燃气轮机;,c#,asp.net,list,C#,Asp.net,List,我在从列表中检索数据时遇到问题,我必须获取每个选定记录的信息,我可以做到这一点,但我在列表中有这些数据,我需要将其放在文本框中,我的应用程序中有用于工作的类,这是我的数据层: public List<Cajas> cajas_upd_cons_caja_detalle(string clienteCodigo, string cajaCodigo, int cajaNumero) { List<Cajas> ListCaj_x_Cod_CajNum = new L

我在从列表中检索数据时遇到问题,我必须获取每个选定记录的信息,我可以做到这一点,但我在列表中有这些数据,我需要将其放在文本框中,我的应用程序中有用于工作的类,这是我的数据层:

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;
}
public List cajas\u upd\u cons\u caja\u detalle(字符串clienteCodigo,字符串cajaCodigo,int-cajaNumero)
{
List ListCaj_x_Cod_CajNum=新列表();
string storedProcedure=“CAJAS\u UPD\u CONS\u CAJA\u DETALLE”//存储过程
使用(DbConnection con=dpf.CreateConnection())
{
con.ConnectionString=cont;
使用(DbCommand cmd=dpf.CreateCommand())
{
cmd.Connection=con;
cmd.CommandText=存储过程;
cmd.CommandType=CommandType.storedProcess;
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
参数3.值=cajaNumero;
cmd.Parameters.Add(param3);
con.Open();
cmd.ExecuteNonQuery();
使用(DbDataReader dr=cmd.ExecuteReader())
{
while(dr.Read())
{
尝试
{
//这是我的课
Cajas caja=新的Cajas()//
caja.CajaContenido=dr[“CONTENIDO”].ToString();
caja.CajaEstado=dr[“EST”].ToString();
caja.FecEmisionDoc=Convert.ToDateTime(dr[“EMISION”].ToString());
caja.feccaducidoc=Convert.ToDateTime(dr[“CADUCIDAD”].ToString());
caja.CajaUbi1=dr[“UBI1”].ToString();
caja.CajaUbi2=dr[“UBI2”].ToString();
添加(caja);
}
捕获(系统无效卡斯特例外)
{ }
}
}
}
}
返回ListCaj_x_Cod_CajNum;
}
这是我的演讲课:

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

    }
}
受保护的无效页面加载(对象发送方,事件参数e)
{
UpdCadDet_limpiarCampos();
如果(!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;
//这只是为了测试
列表cajastest=cajaUpd\u BL.cajas\u upd\u cons\u caja\u detalle(clienteCodigo、cajaCodigo、Convert.ToInt32(cajaNumero));
}
}
如果我调试应用程序,我可以看到从DB检索到的值,但我的问题是如何在我的表示类(GUI)中获取它们

我希望有人能帮助我

致以最诚挚的问候

谢谢 我可以得到列表值:

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();
        ......
        ......
List cajadetalle=cajaUpd\u BL.cajas\u upd\u cons\u caja\u detalle
(客户Codigo、cajaCodigo、Convert.ToInt32(cajaNumero));
TxtUpcajdet_CajCon.Text=cajadetalle[0]。CajaContenido.ToString();
txtupdajdet_CajEst.Text=cajadetalle[0]。CajaEstado.ToString();
txtupdajdet_CajFem.Text=cajadetalle[0]。FecEmisionDoc.ToString();
TxtUpdajDet_CajFca.Text=cajadetalle[0]。FecCaducidDoc.ToString();
txtupcajdet_CajFal.Text=cajadetalle[0]。AltaFecha.ToString();
txtupdajdet_CajFba.Text=cajadetalle[0]。BajaFecha.ToString();
txtupcajdet_CajUb1.Text=cajadetalle[0].CajaUbi1.ToString();
......
......

因此,我可以在文本框中获取值。

Sidenote:您使用
ExecuteNonQuery
ExecuteReader
执行了两次查询。我建议删除
ExecuteNonQuery
-call。这取决于您。您希望如何显示它们?最直接的想法是使用数据网格(表格格式)。这里有一个给你的链接:谢谢Caramiriel,我正在测试,因为我有一个错误,我无法检索数据,但这部分已经解决了。我会纠正的。谢谢Feryal,但是这个信息来自另一个页面gridview,它是来自每个记录的详细信息,因为下面将修改记录