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.Collecti ons.Generic;
using System.Componen tModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows. Forms;
using System.Collecti ons;
using plist;
namespace plist
{
public partial class Form1 : Form
{
public Form1()
{
InitializeCompo nent();
}
private void Form1_Load(obje ct sender, EventArgs e)
{
ArrayList funcList = new ArrayList();
ArrayList arrayData = new ArrayList();
funcList = pgm2.AEdr(array Data);
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(ob ject sender, EventArgs e)
{
}
}
}
Pgm2 ****
using System;
using System.Collecti ons;
using System.Collecti ons.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(o bjList);
for (int i=0; i<funcList.Coun t; i++)
{
adr = funcList[i].ToString(adr);
edr = funcList[i].ToString(edr);
arrayData.Add(a dr);
arrayData.Add(e dr);
}
return arrayData;
}
}
}
Pgm3 ****
using System;
using System.Collecti ons.Generic;
using System.Text;
using System.Collecti ons;
using System.Data;
using System.Data.Sql Client;
namespace plist
{
class pgm3
{
public static ArrayList dataList(ArrayL ist objList)
{
SqlConnection connection = GetConn.GetConn ection();
ArrayList dataList = new ArrayList();
string selectStatement = @"select adr, edr from
wdTable";
SqlCommand selectCommand = new SqlCommand(sele ctStatement,
connection);
SqlDataReader reader;
connection.Open ();
reader = selectCommand.E xecuteReader
(CommandBehavio r.SingleResul t);
while (reader.Read())
{
pgm2 pgm2list = new
pgm2((string)re ader["adr"],(string)reader
["edr"]);
pgm2list.Adr = (string)reader["adr"];
pgm2list.Edr = (string)reader["edr"];
dataList.Add(pg m2list);
}
objList = dataList;
connection.Clos e();
return objList;
}
}
}
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.Collecti ons.Generic;
using System.Componen tModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows. Forms;
using System.Collecti ons;
using plist;
namespace plist
{
public partial class Form1 : Form
{
public Form1()
{
InitializeCompo nent();
}
private void Form1_Load(obje ct sender, EventArgs e)
{
ArrayList funcList = new ArrayList();
ArrayList arrayData = new ArrayList();
funcList = pgm2.AEdr(array Data);
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(ob ject sender, EventArgs e)
{
}
}
}
Pgm2 ****
using System;
using System.Collecti ons;
using System.Collecti ons.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(o bjList);
for (int i=0; i<funcList.Coun t; i++)
{
adr = funcList[i].ToString(adr);
edr = funcList[i].ToString(edr);
arrayData.Add(a dr);
arrayData.Add(e dr);
}
return arrayData;
}
}
}
Pgm3 ****
using System;
using System.Collecti ons.Generic;
using System.Text;
using System.Collecti ons;
using System.Data;
using System.Data.Sql Client;
namespace plist
{
class pgm3
{
public static ArrayList dataList(ArrayL ist objList)
{
SqlConnection connection = GetConn.GetConn ection();
ArrayList dataList = new ArrayList();
string selectStatement = @"select adr, edr from
wdTable";
SqlCommand selectCommand = new SqlCommand(sele ctStatement,
connection);
SqlDataReader reader;
connection.Open ();
reader = selectCommand.E xecuteReader
(CommandBehavio r.SingleResul t);
while (reader.Read())
{
pgm2 pgm2list = new
pgm2((string)re ader["adr"],(string)reader
["edr"]);
pgm2list.Adr = (string)reader["adr"];
pgm2list.Edr = (string)reader["edr"];
dataList.Add(pg m2list);
}
objList = dataList;
connection.Clos e();
return objList;
}
}
}
Comment