1.ObjStudyStatusTBOp.StudyStatusTBop.LoadBySql(sql,StudyStatusTBDt);
此处这个函数的第二个参数是一个DataTable,为什么没用Ref这个参数,就将从sql语句中取出的记录返回给StudyStatusTBDt了2.在类ObjStudyStatusTBOpk中声明了一个静态变量StudyStatusTBop,它将类ObjStudyStatusTBOp实例并静态化(不知道是不是这样说, 是我自己理解的,正确的说应该是什么?这种方法有什么好处吗,小弟刚接触.net对这种写法非常的陌生,不知道能不能再举个示例,以帮助小弟理解)还请指点

解决方案 »

  1.   

    private void LoadData()
    {
    try
    {
    DBbase.thisbase.Connection();string sql="SELECT dbo.StudyStatusTB.*, dbo.StudyStatusClassTB.ClassName AS ClassName,  dbo.StudyStatusClassTB.State AS State FROM dbo.StudyStatusTB LEFT OUTER JOIN dbo.StudyStatusClassTB ON   dbo.StudyStatusTB.ClassID = dbo.StudyStatusClassTB.ID WHERE (dbo.StudyStatusClassTB.State = 0) order by dbo.StudyStatusTB.SetIsTop DESC ";DataTable StudyStatusTBDt=new DataTable();ObjStudyStatusTBOp.StudyStatusTBop.LoadBySql(sql,StudyStatusTBDt);this.DataGrid1.DataSource=StudyStatusTBDt;
    this.DataGrid1.DataBind();this.lblPageCount.Text=this.DataGrid1.PageCount.ToString();this.SetPageButton();}
    catch(Exception ee)
    {
    ObjErr.ShowMessageFrm("读取数据失败!","",ee.Message,null);
    }
    finally
    {
    DBbase.thisbase.DisConnection();
    }}
      

  2.   

    public class ObjStudyStatusTBOp
         {
     
             public ObjStudyStatusTBOp()
             {
             } public static ObjStudyStatusTBOp StudyStatusTBop=new ObjStudyStatusTBOp(); /// <summary>
     /// 读取某条记录(LoadBySql)
     /// </summary>
     /// <param name="strSql">SQL语句</param>
     /// <param name="obj">表</param>
     /// <returns></returns>
     public bool LoadBySql(string strSql,DataTable DT)
     {
     bool isExe=false;
                 DBbase.thisbase.thisCommand.Parameters.Clear();
     DBbase.thisbase.thisCommand.CommandText=strSql;
     OleDbDataAdapter MyDBAdapter;
     try
     {
     MyDBAdapter=new OleDbDataAdapter(strSql,DBbase.thisbase.thisConn); 
     MyDBAdapter.Fill(DT);
     isExe=true;
     }
     catch(OleDbException e)
     {    
     isExe=false;
     throw new Exception(e.Message);  
     }
     return isExe;
     }
    }
      

  3.   

    多看看 .net framework 下的数据类型
    struct 与 class 的区别,以及他们的内存分配机制.
      

  4.   

    。Net里面传递一个object参数,是传递一个引用的
    相当于C里面的funcName(&objectName);