我从数据库中得到一个dataset[“contractor“],我想创建一个新的行,添加数据,然后update(ds[contractor])。这个表中已经定义了主键。我的代码如下:
                           DataRow r=ds.Tables["contractor"].NewRow();
       //ds.Tables["contractor"].Columns[0].AutoIncrement=true; r[1]=contractor_id ;
r[2]=custom_id ;
r[3]=contractor_name  ;
r[4]=department  ;
r[5]=phone  ;
r[6]=mobil ;
r[7]=qq  ;
r[8]=msn ;
r[9]=sex  ;
r[10]=duties ;
r[11]=fax  ;
r[12]=address  ;
r[13]=email  ;
r[14]=webpage ;
r[15]=interesting ;
r[16]=commemorationday  ;
r[17]=res  ;
if(photo!=null)
   r[18]=photo;
else
  r[18]=DBNull.Value ;
ds.Tables["contractor"].Rows.Add(r);
ada3=new SqlDataAdapter("select * from contractor",conn);
cb3=new SqlCommandBuilder(ada3);
ada3.Update(ds.Tables["contractor"]);
结果是:id裂不能为空值。即使去掉注释的那一行也不行。
请问我应该怎么改?
谢谢