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,它是来自每个记录的详细信息,因为下面将修改记录