SELECT WO_BreakerRail.ID, indRailType.RailType, indRailType.RailCode, WO_BreakerRail.CreatedPieces, WO_BreakerRail.OutsideSource, WO_BreakerRail.Charged,
WO_BreakerRail.Rejected, WO_BreakerRail.RejectedToCrop, COALESCE (WO_BreakerRail.Date, @date) AS Date
FROM indRailType LEFT OUTER JOIN
WO_BreakerRail ON indRailType.RailCode = WO_BreakerRail.RailCode AND WO_BreakerRail.Date = @date
我有一个绑定到表适配器的DataGridView。这是我用来填充我的适配器的选择查询。如果没有来自WO_BreakerRail的匹配条目,则ID列将为null。更新包含数据的行时,update命令正常工作。但是如果我在WO_BreakerRail中更新了一个没有匹配信息的行,它会失败,因为表适配器认为它应该更新,因为我修改了它的行集合中的行,但是WO_BreakerRail没有该行。当ID为null而不是更新命令时,有没有办法告诉表适配器使用insert命令?
答案 0 :(得分:2)
对于没有数据的行,请将rowstate设置为new
致电:dataRow.SetAdded()
。
答案 1 :(得分:0)
我认为以下是您在添加方法中遗漏的内容。
// ... in your method where your inserting
DataRow row = MyDataTable.NewRow();
// .... add data to row ....
MyDataTable.Rows.Add(row);