public void LoadData()
{
conn.Open();
SqlCeCommand cmd=conn.CreateCommand();
cmd.CommandText="select * from tblPerson where PersonName not like 'adm%' and Enable=1 ";
SqlCeDataReader rdr=cmd.ExecuteReader();
perNumSel=perNum-1;
iperson=new string[perNum,4];
int i=0;
while(rdr.Read())
{
comboBox1.Items.Add(rdr.GetString(4));//comboBox赋值
iperson[i,0]=rdr.GetString(4);//存放PersonName
iperson[i,1]=rdr.GetString(5);//存放PassWord
iperson[i,2]="0";  //标志位
iperson[i,3]=rdr.GetString(6); //人员权限
i++;
}
rdr.Close();就是该由数据库中取出某个人员的权限,而该权限又要在该窗体Dispose后在另一窗体中使用。

解决方案 »

  1.   

    you can use Static 
    public class UserInfo
    {
       string name;
       string Pwd;
       string flag;
    }public class Users
    {
        static ArrayList alUser;
        public static bool AddUser(UserInfo);
        public static UserInfo GetUser(string id);
        public static bool Clear();}
      

  2.   

    创建一个person类,里面有一个权限属性
    在此窗体中赋值,在别的类取出来就可以了.
      

  3.   

    一个信息需要在多个地方共享,使用公共、静态标志。
    如gujianxin(木头象)所说。
    不过,是否这样做更好?public class Users
    {
        ArrayList alUser;
        public bool AddUser(UserInfo);
        public UserInfo GetUser(string id);
        public bool Clear();
    }public static Users _Users;
      

  4.   

    to: adailee(不谈恋爱的铅笔) 面向对象的一个很重要因素封装被你无情的破坏了