问题描述
今天我做了几道关于ADO.NET的练习题,有一个程序编译不出错,但是更新不到数据库中,请问这是为什么?该如何改正?下面是出问题的函数:我想实现的功能是:在非连接状态下,删除一行,然后UPDATE到数据库中。代码如下:staticvoidUseDataDelete(){StringconStr="server=.;database=Students;IntegratedSecurity=true";SqlConnectionconn=newSqlConnection(conStr);StringsqlSel="select*frommajor";SqlDataAdapteradp=newSqlDataAdapter(sqlSel,conn);SqlCommandBuildercmdBuilder=newSqlCommandBuilder(adp);DataSetds=newDataSet();adp.Fill(ds);DataTabledt=ds.Tables[0];dt.Rows.Remove(dt.Rows[1]);adp.Update(dt);conn.Close();}谢谢!
解决方案
解决方案二:
dt.Rows.Remove(dt.Rows[1]);改成dt.Rows.RemoveAt(1);
解决方案三:
dt.Rows.Remove();这个方法里的参数是数据行DataRow类型的。dt.Rows.RemovAt();这里才的参数才是行的索引。
解决方案四:
可以以下中的一个删除行;ds.Tables[0].Rows[0].Delete();或ds.Tables[0].Rows.RemoveAt(0);
解决方案五:
一。你看看,你的表是不是没有设主键呢??二。要加AcceptChange()方法
解决方案六:
主键