如何获得表适配器以从数据库中删除行?

时间:2019-10-30 13:30:54

标签: c# sql .net

我在包含联接的表适配器中有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);`

0 个答案:

没有答案