数据库如下:nam two 
崔 艳 
燕 子 
小 丽 
雨 竹 
暖 暖 

解决方案 »

  1.   

    提示错误如下:“/asp”应用程序中的服务器错误。
    --------------------------------------------------------------------------------对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成。
      

  2.   

    add a primary key to your table
      

  3.   

    OleDbCommandBuilder objbuilder=null;
      objbuilder=new OleDbCommandBuilder(objadapter);
    //把下面的删除
      objadapter.UpdateCommand=objbuilder.GetUpdateCommand();
      objadapter.InsertCommand=objbuilder.GetInsertCommand();
      objadapter.DeleteCommand=objbuilder.GetDeleteCommand();
      

  4.   

    //更改燕子为燕子花
      DataRow[] objrow;
      objrow=objtable.Select("nam='燕' and two='子'");
      objrow[0]["nam"]="燕";
      objrow[0]["two"]="子花";执行完一次后,就不能再执行了, 因为你已经把燕子改成了燕子花, 
    就取不到值,objrow[0]["nam"]="燕";报错
      

  5.   

    To  saucer(思归, MS .NET MVP) :俺加过了,加过以后测试第一次显示出来结果了,,,但是主键的值有的显示为1,2,3,5没有4,还有的前面根本没有号码???然后刷新,提示如下:“/asp”应用程序中的服务器错误。
    --------------------------------------------------------------------------------索引超出了数组界限。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IndexOutOfRangeException: 索引超出了数组界限。这是怎么回事呀???
      

  6.   

    To  panyee(快乐王子):哈,谢了,,俺明白了,,是数组的问题,顺便问一下,我在前面加了一个"num"字段,,是自动编号,,,为什么在删除以后的4,5号都没有了???直接到6了???有没有办法还让他们还按顺利???另外为什么必须加主键????
      

  7.   

    修改后的(加了主键,在改“燕子”为“燕子花”处加了"try{}"不明白为什么序号自动增加?而不能为原来的1、2、3、4………还不明白为什么必须加主键???<%@ Page language="C#" runat="server"%>
    <%@ Import NameSpace="System.Data"%>
    <%@ Import NameSpace="System.Data.OleDb"%><script language="c#" runat="server">
    void Page_Load()
    {
      string strconnection="Provider=Microsoft.Jet.OleDb.4.0;";
      strconnection+=@"Data Source=D:\aspasp\first.mdb";
      string strsql="SELECT num,nam,two from thename";
      DataSet objdataset=new DataSet();
      OleDbConnection objconnection=new OleDbConnection(strconnection);
      OleDbDataAdapter objadapter=new OleDbDataAdapter(strsql,objconnection);
      objadapter.Fill(objdataset,"you");
      a.DataSource=objdataset.Tables["you"].DefaultView;
      a.DataBind();  //第二个表格
      DataTable objtable=null;
      DataRow objnewrow=null;
      objtable=objdataset.Tables["you"];
      objnewrow=objtable.NewRow();
      objnewrow["nam"]="暖";
      objnewrow["two"]="暖";
      objtable.Rows.Add(objnewrow);
      //绑定数据源;
      b.DataSource=objtable;
      b.DataBind();//更改燕子为燕子花
     try{  DataRow[] objrow;
      objrow=objtable.Select("nam='燕' and two='子'");
      objrow[0]["nam"]="燕";
      objrow[0]["two"]="子花";
      
      //绑定数据源;
      c.DataSource=objtable;
      c.DataBind();
    }
    catch{}
      //删除雨竹
      objtable.Rows[3].Delete();
      
      //绑定数据源;
      d.DataSource=objtable.DefaultView;
      d.DataBind();  //建立数据库链接
      OleDbCommandBuilder objbuilder=null;
      objbuilder=new OleDbCommandBuilder(objadapter);
      objadapter.UpdateCommand=objbuilder.GetUpdateCommand();
      objadapter.InsertCommand=objbuilder.GetInsertCommand();
      objadapter.DeleteCommand=objbuilder.GetDeleteCommand();  //更新数据库;  objadapter.Update(objdataset,"you");
      string sqlstr="SELECT num,nam,two from thename";
      objconnection.Open();
      OleDbCommand command1=new OleDbCommand(sqlstr,objconnection);
      e.DataSource=command1.ExecuteReader(CommandBehavior.CloseConnection);
      e.DataBind();
    }
    </script><html>
    <table width="100%" align="center">
    <tr align="center">
    <td align="center">a</td><td>b</td><td>c</td><td>d</td></tr>
    <tr align="center">
    <td><asp:DataGrid id="a" runat="server"/></td>
    <td><asp:DataGrid id="b" runat="server"/></td>
    <td><asp:DataGrid id="c" runat="server"/></td>
    <td><asp:DataGrid id="d" runat="server"/></td>
    </tr>
    </table>
    <table align="center">
    <tr><td>e</td>
    <td><asp:datagrid id="e" runat="server"/></td></tr>
    </table>
    </html>
      

  8.   

    你把它设为自动增长了吧??加主键才会帮你建insert, delete等 command
      

  9.   

    To   panyee(快乐王子) ( ::我不知道怎么设的,就设成自动编号,,,怎样才能不让它自动增长?而变成1,2,3,4^^^^^这样连续的?
      

  10.   

    不自动增长就得自己计算num目前的最大值了, 那样又多了步查询
      

  11.   

    access的自动编号就是那样, 不删除的话, 就一个个按号排