zoukankan      html  css  js  c++  java
  • 静态变量的问题

    在主窗体中多次调用数据显示窗体时会提示: 此数据表已经存在数据集中.
      
    在数据显示窗体类中定义有:
           
    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 加深了一点印象.
    ~做事情贵在坚持~
  • 相关阅读:
    IaaS、PaaS、SaaS
    hyper-V 配置
    解决linux下创建用户时出现Creating mailbox file: File exists
    iframe层级关系调用
    js,jq新增元素 ,on绑定事件无效
    js中!和!!的区别与用法
    form表单禁止button 提交
    Thinkphp5终端创建控制器和模型
    TP5的目录常量和路径
    sublime安装package controlller
  • 原文地址:https://www.cnblogs.com/csMapx/p/2057942.html
Copyright © 2011-2022 走看看