在我的c#应用程序中,我正在尝试删除一条记录,并且我返回了执行查询的结果,以检查是否确实发生了删除,如下所示。
rowsAffected = db.ExecuteNonQuerySQL(
@"DELETE FROM relation WHERE parent_itemid = " + SourceThingId + " AND " +
" child_itemid = " + ThingId + " AND " +
" relation_typeid = " + RelationTypeId);执行查询定义如下,
using (SQLiteTransaction dbtrans = conn.BeginTransaction())
{
SQLiteCommand cmd = conn.CreateCommand();
cmd.CommandText = sqlExpr;
cmd.CommandType = CommandType.Text;
ireturn = cmd.ExecuteNonQuery();
dbtrans.Commit();
}
return ireturn;但是当我执行它的时候,没有删除,值返回0。使用的数据库是sqlite。
有谁知道为什么它happens.Please帮助。
提前谢谢。
发布于 2012-03-15 05:49:48
好吧,这听起来就像唱片根本不在那里。您应该通过使用相同的查询运行SELECT *来调试它,并查看是否会得到任何结果。
您还应该停止将值直接放入SQL中,而应使用参数化的SQL。这将更好地分离代码和数据,避免SQL注入攻击,并避免转换问题(特别是日期/时间值)。
https://stackoverflow.com/questions/9710778
复制相似问题