public SqlConnection conn;
//用户属性
public string companyname
{
get {return companyname;}
set {companyname=value;}
}
public string username
{
get{return companyname;}
set{username=value;}
}
public string password
{
get{return password;}
set{password=value;}
}
public int companytype
{
get{return companytype;}
set{companytype=value;}
}
public int zhuying
{
get{return zhuying;}
set{zhuying=value;}
}
public string fuzeren
{
get{return fuzeren;}
set{fuzeren=value;}
}
public string email
{
get{return email;}
set{email=value;}
}
public string tel
{
get{return tel;}
set{tel=value;}
}
public string fax
{
get{return fax;}
set{fax=value;}
}
public string address
{
get{return address;}
set{address=value;}
}
public int loginnum
{
get{return loginnum;}
set{loginnum=value;}
}
public System.DateTime lastlogin
{
get{return lastlogin;}
set{lastlogin=value;}
}
public void getuserinfo(int userid)
{
SqlCommand cmd=new SqlCommand("Select * from company where id="+userid.ToString(),conn);
SqlDataReader dr=cmd.ExecuteReader();
while(dr.Read())
{
this.username=dr["username"].ToString();
this.password=dr["password"].ToString();
this.address=dr["address"].ToString();
this.companyname=dr["companyname"].ToString();
this.companytype=(int)dr["companytype"];
this.email=dr["email"].ToString();
this.fax=dr["fax"].ToString();
this.fuzeren=dr["fuzeren"].ToString();
this.lastlogin=(DateTime)dr["lastlogin"];
this.loginnum=(int)dr["loginnum"];
this.zhuying=(int)dr["zhuying"];
}
dr.Close();
}
上面一个为类
下面引用
private void Page_Load(object sender, System.EventArgs e)
{
u1=new user();
if(!Page.IsPostBack)
{
string sql="Select * from company";
u1.getuserinfo(1);
Label1.Text=u1.companyname;
}
// 在此处放置用户代码以初始化页面
}
发生类型为 System.StackOverflowException 的异常。 

解决方案 »

  1.   

    堆栈溢出,你这个类设计不合理
    你user类写在哪了,构造函数呢
      

  2.   

    namespace jxc
    {
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    public class user
    {
    public SqlConnection conn;
    //用户属性
    public string companyname
    {
    get {return companyname;}
    set {companyname=value;}
    }
    public string username
    {
    get{return companyname;}
    set{username=value;}
    }
    public string password
    {
    get{return password;}
    set{password=value;}
    }
    public int companytype
    {
    get{return companytype;}
    set{companytype=value;}
    }
    public int zhuying
    {
    get{return zhuying;}
    set{zhuying=value;}
    }
    public string fuzeren
    {
    get{return fuzeren;}
    set{fuzeren=value;}
    }
    public string email
    {
    get{return email;}
    set{email=value;}
    }
    public string tel
    {
    get{return tel;}
    set{tel=value;}
    }
    public string fax
    {
    get{return fax;}
    set{fax=value;}
    }
    public string address
    {
    get{return address;}
    set{address=value;}
    }
    public int loginnum
    {
    get{return loginnum;}
    set{loginnum=value;}
    }
    public System.DateTime lastlogin
    {
    get{return lastlogin;}
    set{lastlogin=value;}
    }
    public user()
    {
    conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["connstring"]);
    conn.Open();
    //
    // TODO: 在此处添加构造函数逻辑
    //
    }
    public SqlConnection reconn()
    {
    conn.Open();
    return conn;
    } //Sql语句邦定到DataGrid控件
    public void bindgrid(string sql,DataGrid gd)
    {
    //SqlCommand cmd=new SqlCommand(sql,conn);
    SqlDataAdapter da=new SqlDataAdapter(sql,conn);
    DataSet ds=new DataSet();
    da.Fill(ds);
    gd.DataSource=ds.Tables[0].DefaultView;
    gd.DataBind();
    }
    //取用户相关信息,并返回DataReader对象
    public SqlDataReader getuserinfo(string sql)
    {
    SqlCommand cmd=new SqlCommand(sql,conn);
    SqlDataReader dr=cmd.ExecuteReader();
    return dr;
    }
    //取某一用户信息
    public void getuserinfo(int userid)
    {
    SqlCommand cmd=new SqlCommand("Select * from company where id="+userid.ToString(),conn);
    SqlDataReader dr=cmd.ExecuteReader();
    while(dr.Read())
    {
    this.username=dr["username"].ToString();
    this.password=dr["password"].ToString();
    this.address=dr["address"].ToString();
    this.companyname=dr["companyname"].ToString();
    this.companytype=(int)dr["companytype"];
    this.email=dr["email"].ToString();
    this.fax=dr["fax"].ToString();
    this.fuzeren=dr["fuzeren"].ToString();
    this.lastlogin=(DateTime)dr["lastlogin"];
    this.loginnum=(int)dr["loginnum"];
    this.zhuying=(int)dr["zhuying"];
    }
    dr.Close();
    }
    }
    }
    namespace jxc
    {
    /// <summary>
    /// user1 的摘要说明。
    /// </summary>
    public class user1 : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.DataGrid DataGrid1;
    protected System.Web.UI.WebControls.Label Label1;
    protected user u1;
    private void Page_Load(object sender, System.EventArgs e)
    {
    u1=new user();
    if(!Page.IsPostBack)
    {
    string sql="Select * from company";
    u1.getuserinfo(1);
    Label1.Text=u1.companyname;
    }
    // 在此处放置用户代码以初始化页面
    }
      

  3.   

    SqlCommand cmd=new SqlCommand("Select * from company where id="+userid.ToString(),conn);
    有问题吧.
      

  4.   

    public string email //属性和变量重名
    {
    get{return email;}//这里
    set{email=value;}//这里 造成无出口递归 , }
      

  5.   

    userid.ToString()你的数据库ID是什么类型的??