如何定义数据集DataSet为全局变量?

sdldp 2003-09-26 03:19:54
我在一个类里面,定义了一个静态类的数据集对象,然后在系统启动的时候将其初始化new DataSet();但我在别的窗体里向该数据集填充表时,提示错误,请问,这是什么原因,如何解决?谢谢!
...全文
271 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
顾君彦 2003-09-26
  • 打赏
  • 举报
回复
提示什么错误?贴出来看看。
不可能不能用静态的
skykevin 2003-09-26
  • 打赏
  • 举报
回复
静态数据是存放在堆栈上的,其本身类型最大长度是固定的,引用时不用实例化,换言之,任何一个该静态数据类的对象,在内存中的最大长度都一样,不会发生溢出。
而数据集最大长度是动态的,因为一般不能保证在一个应用中,数据集大小是固定的(固定的表、架构和记录数),所有不能把它定义为静态数据。

在FORM间传递DataSet可参考如下思路:

Form1:
..........
DataSet ds1=new DataSet();
Form2 frm2=new Form2();
frm2.Edit(ds1);//Form2中要在用ds1,Edit是假设的方法
frm2.Show();
.......


Form2:
..........
private void Edit(DataSet ds)
{

//此处可对Form1传过来的ds作相应处理

}
..............



sdldp 2003-09-26
  • 打赏
  • 举报
回复
to wjhs(杰借):
我已经在引用前加上声明时所在的地方的名称了
to storm97(风暴不再):
如果不初始化的话,系统提示错误:值不能为空
zag 2003-09-26
  • 打赏
  • 举报
回复
class MyDataSet:DataSet1
{
MyDataSet():DataSet1()
{
}
static MyDataSet ds=new MyDataSet();
public static MyDataSet getdataSet{
get{return ds;}
}
}
PlayIrrrr 2003-09-26
  • 打赏
  • 举报
回复
class A
{
public static DataSet dataSet;
...
}

class B
{
Main()
{
A.dataSet......//your code
}
}
Rossetti 2003-09-26
  • 打赏
  • 举报
回复
up
storm97 2003-09-26
  • 打赏
  • 举报
回复
静态成员不需要new来创建的啊!直接用就行了,不要要实例化。
wjhs 2003-09-26
  • 打赏
  • 举报
回复
首先,你必须在引用前加上声明时所在的地方的名称,如class1.dataset....

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧