Hello
My pgm1 (User Interface Level) passes an empty ArrayList to pgm2
(Business Logic Level). pgm2 then calls pgm3 (Data Access Level) to populate
the ArrayList.
Question1: When pgm2 gets the ArrayList back from pgm3 how to extract and
separate the fields out fo the ArrayLists?
Question2: When pgm3 gets ArrayList back from pgm2 how to separate the
fields out of the Arraylist and assign it to variables that will be process
later on?
Below is the code simplified:
Pgm1 ****
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using plist;
namespace plist
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ArrayList funcList = new ArrayList();
ArrayList arrayData = new ArrayList();
funcList = pgm2.AEdr(arrayData);
string adr = "";
string edr = "";
for (int i = 0; i < funcList.Count; i++)
{
"adr" + i = funcList[i].ToString(adr);
"edr" + i = funcList[i].ToString(edr);
}
//label1.Text = "there are " + funcList.Count + " rows";
}
private void label1_Click(object sender, EventArgs e)
{
}
}
}
Pgm2 ****
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
namespace plist
{
class pgm2
{
private string adr;
private string edr;
public pgm2(string adr, string edr)
{
Adr = adr;
Edr = edr;
}
public string Adr
{
get { return adr; }
set { adr = value; }
}
public string Edr
{
get { return edr; }
set { edr = value; }
}
public static ArrayList AEdr(ArrayList arrayData)
{
string adr = "";
string edr = "";
ArrayList funcList = new ArrayList();
ArrayList objList = new ArrayList();
funcList = pgm3.dataList(objList);
for (int i=0; i<funcList.Count; i++)
{
adr = funcList[i].ToString(adr);
edr = funcList[i].ToString(edr);
arrayData.Add(adr);
arrayData.Add(edr);
}
return arrayData;
}
}
}
Pgm3 ****
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
namespace plist
{
class pgm3
{
public static ArrayList dataList(ArrayList objList)
{
SqlConnection connection = GetConn.GetConnection();
ArrayList dataList = new ArrayList();
string selectStatement = @"select adr, edr from
wdTable";
SqlCommand selectCommand = new SqlCommand(selectStatement,
connection);
SqlDataReader reader;
connection.Open();
reader = selectCommand.ExecuteReader
(CommandBehavior.SingleResul t);
while (reader.Read())
{
pgm2 pgm2list = new
pgm2((string)reader["adr"],(string)reader
["edr"]);
pgm2list.Adr = (string)reader["adr"];
pgm2list.Edr = (string)reader["edr"];
dataList.Add(pgm2list);
}
objList = dataList;
connection.Close();
return objList;
}
}
}