Заполнение массива данных от читателя данных - PullRequest
0 голосов
/ 15 марта 2011

У меня проблема с заполнением списка массивов из устройства чтения данных.

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

Проблема в том, что в хранилище данных содержится много информации, кроме числа, но я не знаю, как их разместитьв правильном положении.

Я все еще новичок в этом извините, если это звучит глупо.

Ответы [ 3 ]

2 голосов
/ 15 марта 2011

Вы не можете поместить String в ArrayList. Вы должны добавить строку в список. Ex. :

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

Если вы хотите получить список строк, лучше всего использовать List<String>. Ex. :

List<String> RecordsInfo = new List<String>(); 
while (dr_DTL.Read()) 
{    
    RecordsInfo.Add(dr_DTL["number"].ToString()); 
}    
0 голосов
/ 15 марта 2011

Я думаю, вам лучше использовать 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.

0 голосов
/ 15 марта 2011

Привет, тебе нужно сделать RecordInfo.Add, сейчас ты переназначаешь весь массив ...

Также, если вы извлекаете слишком много столбцов, просто запросите нужные столбцы, в вашем случае number, а не просто SELECT * ...

...