首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ExecuteNonquery返回0

ExecuteNonquery返回0
EN

Stack Overflow用户
提问于 2012-03-15 05:46:57
回答 1查看 1.6K关注 0票数 0

在我的c#应用程序中,我正在尝试删除一条记录,并且我返回了执行查询的结果,以检查是否确实发生了删除,如下所示。

代码语言:javascript
复制
rowsAffected = db.ExecuteNonQuerySQL(
    @"DELETE FROM relation WHERE parent_itemid = " + SourceThingId + " AND " +
    "     child_itemid = " + ThingId + " AND " +
    "     relation_typeid = " + RelationTypeId);

执行查询定义如下,

代码语言:javascript
复制
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帮助。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-15 05:49:48

好吧,这听起来就像唱片根本不在那里。您应该通过使用相同的查询运行SELECT *来调试它,并查看是否会得到任何结果。

您还应该停止将值直接放入SQL中,而应使用参数化的SQL。这将更好地分离代码和数据,避免SQL注入攻击,并避免转换问题(特别是日期/时间值)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9710778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档