我在包含联接的表适配器中有SQL代码。运行时,此信息将填充到相应的数据表中。那部分工作正常。当我尝试使用tableadapter.delete命令从数据库中删除信息或将行标记为要删除而不是使用.update命令时,出现错误。更新产生错误,指出单词JOIN之前有问题。和Delete语句也一样。在测试期间不涉及任何联接的情况下,删除语句以前可以工作。无法使用表适配器通过Joins从数据库中删除信息吗?
填充数据表的原始表适配器代码
`SELECT * FROM SCRAP S
JOIN SCRAP_TYPE T on T. SCRAP_TYPE_ID = S.SCRAP_TYPE_ID`
根据该数据表的条件填充数据的查询
`SELECT * FROM SCRAP S
JOIN SCRAP_TYPE T on T. SCRAP_TYPE_ID = S.SCRAP_TYPE_ID
WHERE SCRAP_DATE BETWEEN @DATEFROM AND @DATETO
AND T.CODE = @CODE`
此代码来自属性窗口中的Delete.commandtext
`DELETE FROM SCRAP
JOIN SCRAP_TYPE ON SCRAP_TYPE.SCRAP_TYPE_ID = SCRAP.SCRAP_TYPE_ID
WHERE SCRAP.SCRAP_DATE BETWEEN @DATEFROM AND @DATETO
AND SCRAP_TYPE.CODE = @CODE`
我尚未将sql添加到插入或更新命令中。但是当我运行下面的代码时,我在单词JOIN
之前遇到语法错误 `foreach (DataRow row in Main.dScrap.Rows)
{
row.Delete();
}
dScrapTableAdapter.Update(Main.dScrap);`