与绑定SQL Server的差不多,使用OleDb连接,得到一个DataSet,然后再用这个DataSet来绑定。

解决方案 »

  1.   

    public DataView read_note_list(string member_id,string item_id,string course_id)
    {
    string m_id=member_id;
    string sql=" SELECT i_NoteID,dt_Create,SUBSTRING(nvc_NoteTitle,0,10) nvc_NoteTitle  "
    +" FROM Tbl_MemberNote WHERE i_MemberID="+m_id+" AND i_ItemID="+item_id+" AND i_CourseID="+course_id+" ORDER BY dt_Create Desc";

    OleDbDataAdapter objSqlAd1 = new OleDbDataAdapter(sql,mstrConnection);
    DataSet DataSet1=new DataSet();
    objSqlAd1.Fill (DataSet1,"Tbl_MemberNote");
    DataView dv1=DataSet1.Tables["Tbl_MemberNote"].DefaultView ;
    return dv1; 
    }
    private void Imgbtn_Mynotebook_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    {
    Dg_Mynotebook.CurrentPageIndex = 0 ; Dg_Mynotebook.DataSource = link_task.read_note_list (Session["MEMBER_ID"].ToString (),strItemID,strCourseID);
    Dg_Mynotebook.DataBind ();
    Dg_Mynotebook.SelectedIndex = -1;
    if (Dg_Mynotebook.PageCount <= 1)
    {
    Dg_Mynotebook.PagerStyle.Visible = false ;
    }
    else
    {
    Dg_Mynotebook.PagerStyle.Visible = true ;
    }
    }
      

  2.   

    只要返回一个DATASET或者DATAVIEW都可以绑定。不过每次绑定前都要Dg_Mynotebook.DataSource = 指定数据源头。用DATASET可能还要占用数据库连接,DATAVIEW就不占用。如果用ORACLE,要用户自己管理数据连接池,建议用DATAVIEW,少占用一些资源。如果要用一个DATASET返回多张视图给不同GRID,没什么,但总觉得这样意义不大,我没试过
      

  3.   

    对了,我这个程序有问题,NEW的资源最好使用后就释放出去,这样比较合理,虽然.NET好象是多线程垃圾收集,但总有个延迟,而且收集效率也不好讲,还是自己释放掉为好。