【问题标题】:Filling an arraylist from a datareader从数据读取器填充数组列表
【发布时间】:2011-07-15 18:38:18
【问题描述】:

我对如何从数据读取器填充数组列表有疑问

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

问题是数据读取器包含很多信息而不是数字,但我不知道如何将它们放在正确的位置。

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

【问题讨论】:

  • 您为什么使用ArrayList 而不是List<T>?如果还有更多您感兴趣的数据,您希望如何存储数据?

标签: c# asp.net arraylist sqldatareader


【解决方案1】:

您不能将String 放在ArrayList 中。您必须将字符串添加到列表中。 前任。 :

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

如果你想要一个字符串列表,最好的方法是使用List<String>。 前任。 :

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

【讨论】:

    【解决方案2】:

    我认为使用 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 版本。

    【讨论】:

      【解决方案3】:

      您好RecordInfo.Add,目前您正在重新分配整个数组列表...

      此外,如果您要检索的列太多,只需查询您需要的列,在您的情况下为number,而不仅仅是SELECT * ...

      【讨论】:

      • string queryDTL = " SELECT number, name, phone FROM tbl1 ";连接.连接(); cmd = new OracleCommand(queryDTL, connection.getConnection()); dr_DTL = qcmd2.ExecuteReader(); ArrayList RecordsInfo = new ArrayList(); while (dr_DTL.Read()) { RecordsInfo = dr_DTL["number"].ToString();RecordsInfo = dr_DTL["name"].ToString();RecordsInfo = dr_DTL["phone"].ToString(); } 你的意思是这样吗?它仍然无法正常工作
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多