dw1.LibraryList = "\\DataService\\DataWindow\\aa.pbl";
            dw1.DataWindowObject = "d_a1_list";
            dw2.LibraryList = "\\DataService\\DataWindow\\aa.pbl";
            dw2.DataWindowObject = "d_a2_list";
同时建立了两个对象。可能建第一个的时候aa.pbl就已经被使用了,所以不能同时建立第二个。

解决方案 »

  1.   

    学习中... 欢迎加入ASP.NET(C#)学习交流QQ群号:①32801051(已满) ②23222074(请不要两个群都加)
      

  2.   

    分别在tabcontrol的cliked中.
     private void tabcontrol.tabpage1_clicked(object sender, EventArgs e)
            {
                string connectionString = "user id= sa; password=sa; database=JEStore; server=Jmeport; ";
                IDbConnection conn2 = new SqlConnection(connectionString);
                conn2.Open();            dw1.LibraryList = "\\DataService\\DataWindow\\aa.pbl";
                dw1.DataWindowObject = "d_a1_list";            Sybase.DataWindow.AdoTransaction SQLCA = new Sybase.DataWindow.AdoTransaction(conn2);
                SQLCA.BindConnection();            dw1.SetTransaction(SQLCA);
                dw1.Retrieve();            dw2.SetTransaction(SQLCA);
                dw2.Retrieve();            conn2.Close();
            }
    以及
     private void tabcontrol.tabpage2_clicked(object sender, EventArgs e)
            {
                string connectionString = "user id= sa; password=sa; database=JEStore; server=Jmeport; ";
                IDbConnection conn2 = new SqlConnection(connectionString);
                conn2.Open();            dw1.LibraryList = "\\DataService\\DataWindow\\aa.pbl";
                dw1.DataWindowObject = "d_a1_list";            Sybase.DataWindow.AdoTransaction SQLCA = new Sybase.DataWindow.AdoTransaction(conn2);
                SQLCA.BindConnection();            dw1.SetTransaction(SQLCA);
                dw1.Retrieve();            dw2.SetTransaction(SQLCA);
                dw2.Retrieve();            conn2.Close();
            }
    试一试
      

  3.   

    hzzz_lgh3399() 这样虽然可以但是每次单击tap后就重新初始化了,更改后没保存的数据也不见了,所以我不想这样单击加载数据,不能一开始就加载所有页面的数据吗?
      

  4.   

    在使用 ado.net 和.net的其他数据控件时没有这样的问题,估计是Sybase那个dll的问题。
    如果方便楼主可以写一个简单的demo发过来 
    看能不能给你解决
      

  5.   

    是有这样的问题我在vb.net 中也碰到了。
    不在load中设置第2个,第3个page对应的datawindow的 transtion...就可以了
     Select Case TabControl1.SelectedIndex
                Case 0
                    DataWindowControl1.SetTransaction(Pub_Trans)
                    DataWindowControl1.Modify("datawindow.readonly = yes")
                Case 1
                    DataWindowControl2.SetTransaction(Pub_Trans)
                    DataWindowControl2.Retrieve()            Case 2
                    DataWindowControl3.SetTransaction(Pub_Trans)
                    DataWindowControl3.Retrieve()
                Case 3
                    DataWindowControl4.SetTransaction(Pub_Trans)
                    DataWindowControl4.Retrieve()
         
            End Select
      

  6.   

    在 form_load 中调用 tabcontrol.selecttab("tabpage2");tabcontrol.selecttab("tabpage1");先调用一下第二页,再调用第一页,之后再分别对这两个tabpage页上的dw控件设置SQLCL,这样就没有问题了