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