数据库表QuesSel中有个自动增长字段QuesID,数据集中增加一条记录后,用SqlDataAdapter的Update更新。目前数据库中QuesID最大为73,增加一条记录后应为74。在2003中,更新后取dr["QuesID"]就可以得到74,而在2005中,为何数据库中变成73,而DataSet中却是73?附代码:
dr = quesSet.QuesSel.NewQuesSelRow();
dr["Flag"] = Flag.Text;
dr["SerialNum"] = SerialNum.Text;
dr["Ques"] = Ques.Text;
dr["QuesType"] = QuesType.Text;
quesSet.QuesSel.Rows.Add(dr);QuesSetTableAdapters.QuesSelTableAdapter adap = new 
             QuesSetTableAdapters.QuesSelTableAdapter();
adap.Update(quesSet.QuesSel);int nID = (int)dr["QuesID"];// 此处为何为73

解决方案 »

  1.   

    名字怪?
    这是一个考试系统,QuesSel是选择题表,QuesType为A表示单选,B多选(客户这样规定的,我没有办法),字段其它部分不必关心了,跟这个问题无关。
    quesSet是QuesSet的实例,是用向导生成的数据集,QuesSetTableAdapters.QuesSelTableAdapter是生成数据集时自动生成的。
      

  2.   

    没用过不太了解,我想可能是因为自动增长是数据库的功能,DataSet不了解这个事.
      

  3.   

    在.net2003时代是可以的,一直这样用,2005怎么就不行了呢?