你又没说哪里错了,怎么帮你。
有几点建议:
1.
strconnection="provider=Microsoft.Jet.OleDb.4.0; data source=" & Server.MapPath("db1.mdb")
2.
dgcategories.datasource=objdataset.tables("categories",defaultveiw)
改为:
dgcategories.datasource=objdataset.tables("categories")

解决方案 »

  1.   

    F:\aspx\datagrid.aspx(17) : error BC30311: 类型“String”的值无法转换为“System.Data.OleDb.OleDbCommand”。objAdapter=new OleDbdataAdapter(strSQL)
                                    ~~~~~~ 
    F:\aspx\datagrid.aspx(18) : error BC30451: 名称“objadaper”未声明。objadaper.fill(objdataset,"employess")
    ~~~~~~~~~                             
    F:\aspx\datagrid.aspx(19) : error BC30451: 名称“objdata”未声明。dgnamelist.datasource=objdata.tables("employess")
                          ~~~~~~~                    
    F:\aspx\datagrid.aspx(23) : error BC30451: 名称“objconnetion”未声明。objadapter=new oledbdataadapter(strsql,objconnetion)
                                           ~~~~~~~~~~~~ 
    F:\aspx\datagrid.aspx(25) : error BC30451: 名称“defaultveiw”未声明。dgcategories.datasource=objdataset.tables("categories",defaultveiw)
      

  2.   

    好多错误啊
    strconnection="provider=Microsoft.Jet.OleDb.4.0;" & _
     "data source=db1.mdb"
    strSQL="SELECT firstname,lastname from employess;"
    objconnection=new OleDbconnection(strconnection)
    objAdapter=new OleDbdataAdapter(strSQL)//并没有给objAdapter一个connection建议看看ADO.net,了解各个对象的用法
      

  3.   

    OleDbdataAdapter的fill方法可以不用objconnection.open();Fill 方法使用关联的 SelectCommand 属性所指定的 SELECT 语句从数据源中检索行。与 SELECT 语句关联的连接对象必须有效,但不需要将其打开。如果调用 Fill 之前连接已关闭,则将其打开以检索数据,然后再将其关闭。如果调用 Fill 之前连接已打开,它将保持打开状态。