添加和修改时,只添加或修改了man_City,并没有修改city_Name,所以的Dataset那个字段为空也很正常。要么重新查一次就有了,要么就在datagridview修改man_City后,触发一个Cell事件,在同行的city_Name自动添加城市名,这样就保持一致了

解决方案 »

  1.   

    我建议还是直接写入SQL语句插入吧!!!!!!!!!!!!!!
      

  2.   

    不太建议直接用datagridview直接更新数据库数据,自己习惯写SQL语句或者存储过程,datagridview在界面或者页面前端是展示层,而数据库时的数据库更新是持久层做的事,你这样用datagridview,就把两个层面做的事混淆在一块了,建议培养分层开发的习惯,即使程序不大
      

  3.   

    请问Cell事件如何使用?sql语句是指插入city_Name单元格吗?第一次学,还不是很清楚,能否给出具体代码?拜托了~
      

  4.   

    在定义数据集DATASET,两张表建立处键约束时,是否设置了级联删除的属性了。
    例如:constraint.UpdateRule = Rule.Cascade;//constranit 是一个外键约束名
      

  5.   

    DataSet.Relations.Add("关联名称", 父关联主键字段, 子关联外来键字段)   
    DataTable dt1 = new DataTable();
    DataTable dt2 = new DataTable();
    ds.Tables.Add(dt1);   
    ds.Tables.Add(dt2);   
    DataRelation dsdr = new DataRelation("Position", ds.Tables[0].Columns["id"], ds.Tables[1].Columns["id"]);   
    ds.Relations.Add(dsdr);   
    再使用 SqlCommandBuilder 更新
      

  6.   

    7楼这样的话,不是要新建一个表吗?我直接用sqlDataAdapter.Fill(myDataSet);得到的myDataSet可以吗?
    当时试过新建表,可是结果datagridview里面的数据无法更新了,数据库内部到是更新的
      

  7.   

    SqlDataAdapter的InsertCommand、DeleteCommand、UpdateCommand是怎么设置的?
    多表连接起来的时候,不能SqlCommandBuilder自动生成,都得自己写~~