在不同的电脑上用不同账号同时登录后台进行相同操作,当数据还没插入数据库,只是建了个dataTable暂存数据时为什么点击暂存后能看到另一管理员DataTable里的数据?难道DataTable有共用?不同账号创建的应该是不同的DataTable吧?为什么会这样子呢?懂的朋友帮帮忙吧!分不多啊!DataTable缓存暂存

解决方案 »

  1.   

    lz说的dataTable暂存数据是指暂时存在内存里的还是存在数据库里的?存在内存里的话不可能共用的,建议lz查下是不是这时候数据已经暂存到数据库里了,所以才能查看到的
      

  2.   

    DataTable只是个内存表,暂存是调用什么方法?能看到对方的数据,应该是提交到数据库了吧?
      

  3.   

    还没有提交到数据库哦!!!!
    我是通过遍历暂存数据的DataTable dt=new DataTable()将数据插入数据库的,我都把相关插入数据库的操作给注释了还是能互相看见其它管理员dt中暂存的数据!!
    是不是DataTable还有什么高级的用法尼?
      

  4.   

    我用了一个repeater控件来显示暂存的数据。
    DataTable dt=new DataTable();
    在暂存按钮上只是重新将dt绑定到repeater控件上:
    this.rptList.DataSource=dt;还没到插入数据库操作!
      

  5.   

    JavaNet的牛肉粉丝 :是在不同的电脑上同时进行相同的操作
      

  6.   


    你自己也说了,是不同账号不同的DataTable, 但你现在用的是相同的账号啊, 那存在一起有什么奇怪的。 你的程序是只认账号的。
      

  7.   


    你自己也说了,是不同账号不同的DataTable, 但你现在用的是相同的账号啊, 那存在一起有什么奇怪的。 你的程序是只认账号的。题目看错了。
    你看一下,你的DataTable是存在Session里还是存在Application里,如果是Session里的话,这种情况是绝对不可能的。
      

  8.   

    关键是看你操作的是哪一部分的DataTable
      

  9.   

    楼主 你是在逗我们吗?,是 b/s的???
    如果是B/S的大概你用了application了,
    c/s绝对不可能出现这种问题
      

  10.   

    系统部署到服务器后用户反馈回来的这一Bug,然后众码农在各自电脑上同时用不同账号登录进行操作测试,确实存在这一问题!几经研究 尚未找到根源!没有用application ,用了application就有可能出现这种问题?
      

  11.   


    问题的根本是,你怎么暂存你的DataTable的,也就是你怎么保存的。说不清楚的话,把代码贴出来。
      

  12.   

    可能说暂存不太准确啊。
    我的DataTable是这样建立的:
        public static DataTable dt = new DataTable();
        
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                dt.Columns.Add("1");
                dt.Columns.Add("2");
                dt.Columns.Add("3");
                dt.Columns.Add("4");
                dt.Columns.Add("5");
                bind();
            }
        }  //暂存
        protected void Button1_Click(object sender, EventArgs e)
        {
            DataRow dr = dt.NewRow();
            dr[0] = "a"+dt.Rows.Count.ToString();
            dr[1] = "b" + dt.Rows.Count.ToString();
            dr[2] = "c" + dt.Rows.Count.ToString();
            dr[3] = "d" + dt.Rows.Count.ToString();
            dr[4] = "e" + dt.Rows.Count.ToString();
            dt.Rows.Add(dr);
            bind();
        }    public void bind()
        {
            rptList.DataSource = dt;
            rptList.DataBind();
        }
    会不会是这里的问题:public static DataTable dt = new DataTable();
      

  13.   

     public DataTable dt = new DataTable();
      

  14.   

    public static DataTable dt = new DataTable();
    http://msdn.microsoft.com/zh-cn/library/98f28cdx.aspx
      

  15.   


    你的这个DataTable是静态是肯定不行的。因为静态的成员,是在这个类初次加载的时候就建立了,之后是不会再创建的。而且你的列还会越来越多,代码不是这么写的。
      

  16.   

    B/S 的尽量不要用static 静态变量。