this.OpenAccess();
OleDbCommand cmd = new OleDbCommand();
adapter = new OleDbDataAdapter();
cmd.Connection = this.conn;
cmd.CommandText = "SELECT * FROM Class";
adapter.SelectCommand = cmd;
adapter.Fill(dataAccess, "Class");
上述这段代码是把表CLASS的内容填充到DataSet(即dataAccess)的DataTable["Class"]中
现在我要用adapter添加一条记录
但是问题是表Class中的字段ClassId是自动编号
那么我应该怎么办呢
表CLASS有2个字段 ClassId和ClassName(PS:是Access数据库)

解决方案 »

  1.   

    PS:附加一条问题
    添加记录后还要得到刚才添加的记录的ClassId
      

  2.   

    没看明白?
    比如 我想向DataTable["Class"]添加一条记录
    然后通过DataAdapter来执行向数据库添加记录
    最后呢 还要返回刚才添加的记录的ID
    因为表CLASS有2个字段 ClassId 和 ClassName
    ClassId是自动编号
      

  3.   

    cmd.CommandText = "SELECT * FROM Class";
    adapter.SelectCommand = cmd;
    adapter.Fill(dataAccess, "Class");
    这就把当前数据库中表Class的所有内容填充到了DataSet中了 
    lz如果意思是要向数据库中添加记录的话conn.open();cmd.CommandText = "insert into Class(ClassName) values(" +"aaa"+")"; cmd.ExecuteNonQuery();
    conn.close();
      

  4.   

    jiatong1981(末日之痕) ( ) 信誉:100    Blog   加为好友  2007-04-26 11:17:04  得分: 0  
     
     
       自增字段 用户不用关心 数据库会自己给你加的 
    用户也无法关心 因为该列不可编辑
      
     
    -----------------------------------------------------------
    恩 按你这么说
    好像在添加这一步是无法通过象DataTable添加记录 然后通过DataAdapter来更新数据库
    因为DataTable中的ClassId是自动编号
      

  5.   

    还有 有时候我查询 比如
    SELECT ClassName From Class WHERE ClassId=1
    这个我知道肯定就返回一个值是 ClassName
    那么执行
    cmd.ExecuteNonQuery()或者别的方法
    有没有哪种方法是返回一个值
    好像都是返回 DataTable或DataSet的
      

  6.   

    to 恩 按你这么说
    好像在添加这一步是无法通过象DataTable添加记录 然后通过DataAdapter来更新数据库
    因为DataTable中的ClassId是自动编号
    使用DS来更新数据库当然是可以的 我的意思是说 你不用去管那个自增字段 不要在程序中给他赋值 提交到数据库中数据库会自动给你处理的
      

  7.   

    jiatong1981(末日之痕) ( ) 信誉:100    Blog   加为好友  2007-04-26 11:30:13  得分: 0  
     
     
       to 恩 按你这么说
    好像在添加这一步是无法通过象DataTable添加记录 然后通过DataAdapter来更新数据库
    因为DataTable中的ClassId是自动编号
    使用DS来更新数据库当然是可以的 我的意思是说 你不用去管那个自增字段 不要在程序中给他赋值 提交到数据库中数据库会自动给你处理的
      
     
    -----------------------------------------------
    能不能给段Demo呢
    还有个要求 我还要得到刚才添加的这个记录的ID
      

  8.   

    今天没时间你在csdn本地搜索一下 很多的帖子都讲这个的