class odb
{
public void Conn()
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + @"\DataBase\MyDB.mdb";
OleDbConnection odcConnection = new OleDbConnection(strConn);
odcConnection.Open();
OleDbCommand odCommand = odcConnection.CreateCommand();
odCommand.CommandText = "select * from guojia";
OleDbDataReader odrReader = odCommand.ExecuteReader();
ArrayList Arr = new ArrayList();
while (odrReader.Read())
{
Arr.Add(odrReader["1"].ToString());
}
odrReader.Close();
odcConnection.Close();
}
}
5 个解决方案
#1
public void Conn() 改成:public ArrayList Conn() 函数最后return Arr;
#2
如果只是实现一个函数(或者一个单一的接口),何必要用到类?类是面向对象的产物,作为一个完整的对象,理论上应该有构造函数、属性、方法、实现接口等元素,它才可以作为独立的“工人”,接受命令、实现特定功能(或者存储数据)。你的这个“类”,如果想做到与Form进行交互,就应该留有一些属性或者集合(索引亦可),让窗口进行访问,而不是关起门来干自己的活。
比如:
public string result
{
get{ }
set{ }
}
你将读取到的某个值给result记录下来,其他的对象就可以调用object.result来访问这个结果。
否则的话,你完全可以不使用“类”,直接让函数在窗体中工作,Arr的功能就直接实现了,但显然,这不符合面向对象的思路,也与楼主的初中相悖。
比如:
public string result
{
get{ }
set{ }
}
你将读取到的某个值给result记录下来,其他的对象就可以调用object.result来访问这个结果。
否则的话,你完全可以不使用“类”,直接让函数在窗体中工作,Arr的功能就直接实现了,但显然,这不符合面向对象的思路,也与楼主的初中相悖。
#3
//调用
odb db = new odb();
ArrayList arrayList = db.Conn();
class odb
{
public ArrayList Conn()
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + @"\DataBase\MyDB.mdb";
OleDbConnection odcConnection = new OleDbConnection(strConn);
odcConnection.Open();
OleDbCommand odCommand = odcConnection.CreateCommand();
odCommand.CommandText = "select * from guojia";
OleDbDataReader odrReader = odCommand.ExecuteReader();
ArrayList Arr = new ArrayList();
while (odrReader.Read())
{
Arr.Add(odrReader["1"].ToString());
}
odrReader.Close();
odcConnection.Close();
return arr;
}
}
#4
那么form1中如何接收呢
#5
已经很明确告诉你了,ArrayList arrayList = db.Conn();
这就是在Form1中调用的方式,arrayList里存的就是你想要的值。
你是随便一用,还是要做一些开发?为什么不学一学基础的东西呢?总是“想实现什么功能”的时候就来网上或论坛找代码,你有多少精力和技术分让你挥霍,学习不是一件多麻烦的事,起码比你来等答案要容易。
这就是在Form1中调用的方式,arrayList里存的就是你想要的值。
你是随便一用,还是要做一些开发?为什么不学一学基础的东西呢?总是“想实现什么功能”的时候就来网上或论坛找代码,你有多少精力和技术分让你挥霍,学习不是一件多麻烦的事,起码比你来等答案要容易。
#1
public void Conn() 改成:public ArrayList Conn() 函数最后return Arr;
#2
如果只是实现一个函数(或者一个单一的接口),何必要用到类?类是面向对象的产物,作为一个完整的对象,理论上应该有构造函数、属性、方法、实现接口等元素,它才可以作为独立的“工人”,接受命令、实现特定功能(或者存储数据)。你的这个“类”,如果想做到与Form进行交互,就应该留有一些属性或者集合(索引亦可),让窗口进行访问,而不是关起门来干自己的活。
比如:
public string result
{
get{ }
set{ }
}
你将读取到的某个值给result记录下来,其他的对象就可以调用object.result来访问这个结果。
否则的话,你完全可以不使用“类”,直接让函数在窗体中工作,Arr的功能就直接实现了,但显然,这不符合面向对象的思路,也与楼主的初中相悖。
比如:
public string result
{
get{ }
set{ }
}
你将读取到的某个值给result记录下来,其他的对象就可以调用object.result来访问这个结果。
否则的话,你完全可以不使用“类”,直接让函数在窗体中工作,Arr的功能就直接实现了,但显然,这不符合面向对象的思路,也与楼主的初中相悖。
#3
//调用
odb db = new odb();
ArrayList arrayList = db.Conn();
class odb
{
public ArrayList Conn()
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + @"\DataBase\MyDB.mdb";
OleDbConnection odcConnection = new OleDbConnection(strConn);
odcConnection.Open();
OleDbCommand odCommand = odcConnection.CreateCommand();
odCommand.CommandText = "select * from guojia";
OleDbDataReader odrReader = odCommand.ExecuteReader();
ArrayList Arr = new ArrayList();
while (odrReader.Read())
{
Arr.Add(odrReader["1"].ToString());
}
odrReader.Close();
odcConnection.Close();
return arr;
}
}
#4
public void Conn() 改成:public ArrayList Conn() 函数最后return Arr;
那么form1中如何接收呢
#5
public void Conn() 改成:public ArrayList Conn() 函数最后return Arr;
那么form1中如何接收呢
这就是在Form1中调用的方式,arrayList里存的就是你想要的值。
你是随便一用,还是要做一些开发?为什么不学一学基础的东西呢?总是“想实现什么功能”的时候就来网上或论坛找代码,你有多少精力和技术分让你挥霍,学习不是一件多麻烦的事,起码比你来等答案要容易。