不能使删除命令工作

本文关键字:工作 命令 删除 不能 | 更新日期: 2023-09-27 17:49:19

有人可以解释这个删除命令有什么问题,我试图从我的表中删除一行,其中包含有关航班的一些信息,然后将其替换为一个新的。插入工作正常,但删除将不工作。任何帮助将是伟大的感谢

        OleDbCommand deleteCmd = new OleDbCommand();
        sqlStr = "DELETE FROM tblFlights WHERE Arrivals = '" + arrival + "'";
        connection.Open();
        // delete setup
        deleteCmd.Connection = connection;
        deleteCmd.CommandText = sqlStr;
        //activate the deletion
        dataAdapter.DeleteCommand = deleteCmd;

如果需要,可以提供更多信息

不能使删除命令工作

您没有实际运行该命令。你错过了这个:

deleteCmd.ExecuteNonQuery();

此外,您可能想要注意SQL注入

请不要这样做,因为这容易导致SQL注入

编辑:如上所述,您需要:

deleteCmd.ExecuteNonQuery();

表示实际执行的命令。

到达是字符串吗?如果是这样,那么在比较时尝试裁剪两个值:

sqlStr = "DELETE FROM tblFlights WHERE LTRIM(RTRIM(Arrivals)) = LTRIM(RTRIM('" + arrival + "'))";        

如果不行,那么执行下面的select,看看返回的结果:

SELECT * FROM tblFlights WHERE Arrivals = 'Your Arrival'

你的代码容易受到SQL注入攻击,看看我自己的问题如何防止这种攻击和使用安全查询-方法优化- c#