不能使删除命令工作
本文关键字:工作 命令 删除 不能 | 更新日期: 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#