繁体   English   中英

从datareader填充arraylist

[英]Filling an arraylist from a datareader

我有一个如何从数据读取器填充数组列表的问题

string queryDTL = " SELECT * FROM tbl1  ";                 

connection.Connect();
cmd = new OracleCommand(queryDTL, connection.getConnection());
dr_DTL = qcmd2.ExecuteReader();

ArrayList RecordsInfo = new ArrayList();
while (dr_DTL.Read())
{
    RecordsInfo = dr_DTL["number"].ToString();
}   

问题是datareader包含了除数字之外的很多信息,但我不知道如何将它们放在正确的位置。

如果这听起来很愚蠢,我仍然是这个抱歉的初学者。

您不能将String放在ArrayList 您必须将该字符串添加到列表中。 防爆。

ArrayList RecordsInfo = new ArrayList();   
while (dr_DTL.Read())   
{
       RecordsInfo.Add(dr_DTL["number"].ToString());   
}      

如果需要String列表,最好的方法是使用List<String> 防爆。

List<String> RecordsInfo = new List<String>(); 
while (dr_DTL.Read()) 
{    
    RecordsInfo.Add(dr_DTL["number"].ToString()); 
}    

嗨,你必须做RecordInfo.Add ,目前你正在重新分配整个arraylist ...

此外,如果要检索的列数太多,只需在案例number查询所需的列,而不仅仅是SELECT * ...

我认为使用DataTable和适配器会更好:

    SqlConnection Conn = new SqlConnection(MyConnectionString);
    Conn.Open();

    SqlDataAdapter Adapter = new SqlDataAdapter("Select * from Employees", Conn);

    DataTable Employees = new DataTable();

    Adapter.Fill(Employees);

    GridView1.DataSource = Employees;
    GridView1.DataBind();

当然,在您的情况下,使用Oracle版本的对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM