静态变量的问题
时间:2011-05-26 来源:沧海小小粟
在主窗体中多次调用数据显示窗体时会提示: 此数据表已经存在数据集中.
在数据显示窗体类中定义有:
private static DataTable table = new DataTable("myTable"); // 数据表
private static DataSet dataset = new DataSet("datasetInfo"); // 数据集 private void AddData() { ... dataset.Tables.Add(table); } 主窗体中调用: private void btnShowList_Click(object sender, EventArgs e)
{
FormShowGridView frmShowGridView = new FormShowGridView();
try
{
frmShowGridView.StartPosition = FormStartPosition.CenterScreen;
frmShowGridView.ShowDialog();
}
finally
{
frmShowGridView.Dispose();
}
} 当多次调用数据显示窗体就会报错, 究其原因就是因为 dataset 和 table 定义为 static 变量, 而这条语句不能多次执行: dataset.Tables.Add(table); 解决办法: 去掉变量定义前的 static 即可. private DataTable table = new DataTable("myTable"); // 数据表
private DataSet dataset = new DataSet("datasetInfo"); // 数据集 通过此例, 对 static 加深了一点印象.
private static DataTable table = new DataTable("myTable"); // 数据表
private static DataSet dataset = new DataSet("datasetInfo"); // 数据集 private void AddData() { ... dataset.Tables.Add(table); } 主窗体中调用: private void btnShowList_Click(object sender, EventArgs e)
{
FormShowGridView frmShowGridView = new FormShowGridView();
try
{
frmShowGridView.StartPosition = FormStartPosition.CenterScreen;
frmShowGridView.ShowDialog();
}
finally
{
frmShowGridView.Dispose();
}
} 当多次调用数据显示窗体就会报错, 究其原因就是因为 dataset 和 table 定义为 static 变量, 而这条语句不能多次执行: dataset.Tables.Add(table); 解决办法: 去掉变量定义前的 static 即可. private DataTable table = new DataTable("myTable"); // 数据表
private DataSet dataset = new DataSet("datasetInfo"); // 数据集 通过此例, 对 static 加深了一点印象.
相关阅读 更多 +