Dataset 删除行的问题
DataSet.Tables[0].Rows[nSelectIndex].Delete(); 
                                           SqlCommandBuilder   sqlcommandbuile   =   new   SqlCommandBuilder(m_DataAdapter); 
                                           DataAdapter.Update(DataSet,    "tab1 "); 
                                           MessageBox.Show( "成功 ",    "成功 "); 
                                           ........刷新显示   
 表有主键 
 执行结果是      MessageBox   弹出成功,点确定之后刷新显示那行仍然存在 
 大家能否详细说说如何解决,谢谢了 
------解决方案--------------------DataAdapter.Fill方法不会把数据库表中的关系映射到DataSet中到。 
 只是把数据库中表的数据填充到DataSet中。 
 虽然数据库设置了主键。但本地DataSet中的表却没有主键。只有数据。 
 如果想把数据关系架构添加到DataSet中,可以用:FillSchema方法。   
 ds.Tables[ "tab1 "].Rows.Find()  中的 "Find "方法需要根据主键或是唯一键进行查找。所以就会出现:没有主键的异常   
 这时就需再手动设置一下主键:   
 假设第一列为主键 
 ds.Tables[ "tab1 "].PrimaryKey = new DataColumn[] { ds.Tables[ "tab1 "].Columns[0]};   
 这时Find()方法将不会抛出异常。。   
 还有用DataAdapter更新到数据库的时候,数据库中的表,一定要一个主键。。