首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当ExecuteNonQuery通过catch语句将失败的查询记录到日志表中时,如何使其返回-1?

当ExecuteNonQuery通过catch语句将失败的查询记录到日志表中时,可以通过在catch语句中手动设置返回值为-1来实现。在catch语句块中,可以使用一个变量来保存返回值,并将其设置为-1,然后在catch语句块的最后使用return语句将该变量返回。这样,即使ExecuteNonQuery方法本身没有返回-1的功能,通过手动设置返回值,可以达到返回-1的效果。

以下是一个示例代码:

代码语言:csharp
复制
int result = 0;
try
{
    // 执行查询操作
    // ...
    result = ExecuteNonQuery();
}
catch (Exception ex)
{
    // 将失败的查询记录到日志表中
    // ...
    result = -1;
    // 记录日志
    // ...
}
return result;

在上述代码中,通过将result变量初始化为0,并在catch语句块中将其设置为-1,最后通过return语句将result返回。这样,当ExecuteNonQuery方法执行成功时,result的值将是正常的返回值;而当ExecuteNonQuery方法执行失败时,result的值将是-1。

需要注意的是,这只是一种通过手动设置返回值的方式来模拟返回-1的效果,并非ExecuteNonQuery方法本身的功能。具体的返回值还是要根据实际情况和具体的编程语言来确定。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

mysql中有execute_jdbc连接mysql数据库

最近在补基础知识,刚好补到C#对数据库操作一些技术,今天学习了ExecuteNonQuery东西,看自己项目维护项目的代码和网上资料查询,基本上搞懂了ExecuteNonQuery用法,小小做个总结...一、首先,来看看ExecuteNonQuery返回值: 1. 对于Update、insert、Delete语句执行成功是返回值为该命令所影响行数,如果影响行数是0,则返回值就是0; 2....对于所有其他类型语句返回值为-1; 3. 如果发生回滚,返回值也为-1; 4. 我们一般对于更新操作,通过判断返回值是否大于0,这个是没有问题。...但是对于其他操作【如对数据结构操作(建等)】如果操作成功返回值却是-1,但是要注意一下啊,例如给数据库添加一个新,创建成功返回-1,如果操作失败就会发生异常,所有执行这种操作最好用Try,Catch...首先是一个很简单类,里面提供了如何用command对象通过ExecuteNonQuery方法跟新数据库。

2K10

C#利用IDbCommand实现通用数据库脚本执行程序

关于 ExecuteNonQuery 在.net 应用,在数据库执行脚本程序是经常用到功能,如数据操作(新增、修改、删除等),执行一个存储过程等,实现核心方法需要执行 Command 对象ExecuteNonQuery...该方法对数据库连接执行 Transact-SQL 语句返回受影响行数。...生成数据集对象需要利用 ADO.NET 数据提供者对象包括IDbConnection、IDbCommand、IDbDataParameter等,如何使用这些对象请参考我文章: 《C#实现 IDbConnection.../ IDbCommand 等相关通用数据接口》 本文介绍如何通过利用IDbCommand 实现通用数据库脚本执行程序。...5 public int RowsCount=0 属性 执行脚本命令成功后影响行数,默认值为0 6 public int ErrorNum=0 属性 执行脚本命令失败返回数据库提供错误号

6510

数据库之ADO.NET基础知识整理

六.常用三个方法 增删改:ExecuteNonQuery()  执行对数据库增删改,返回受影响行数,适合:insert、delete、update(对于其他语句返回-1) //cmd.该方法,相当于执行了...7.连接池原理总结 1.第一次打开连接会创建一个连接对象。 2.这个连接关闭(调用Close()方法)会将当前那个连接对象放入池中。...: 使用using可以不加try-catch,但是在返回SqlDataReader方法没有使用using,所以这时应该增加一个try-catch,防止发生异常后无法关闭连接对象。...通过执行ExecuteReader()方法获取输出参数时候需要将reader.Close()以后才能获取 第十八天 一:技巧 1.显示内容为命名空间,若想显示内容        重写(override.../列添加到            dt.Columns.Add(dc2);            dt.Rows.Add(1,"haha");//行添加到 4.遍历输出名,列名,行数据

1.9K20

Asp.NetCore Web开发之ADO.Net

command.ExecuteReader();//执行查,返回SqlDataReader对象,通过该对象可以遍历获取所有查询数据 command.ExecuteNonQuery();//执行增删改...,返回int(也就是受影响行数) command.ExecuteScalar();//执行带聚合函数语句返回object 第2,3种返回值可以直接使用,这里不再演示,下面讲解一下,如何使用返回...SqlDataReader对象遍历查询数据。...它read()方法是读取下一条数据,返回一个bool值,读取到最后一行以后,返回false,通常用法就是判断是否有值,如果有值就用while循环读取数据,读取数据使用reader[索引]形式,或者使用...有些时候,我们需要一次性更改多个数据,一条执行失败就要回滚数据,这就要用到ADO.Net事务: using (SqlConnection connection = new SqlConnection

71230

executenonquery报错_sql2008和mysql

ExecuteNonQuery()方法主要用户更新数据,通常它使用Update,Insert,Delete语句来操作,其方法返回值意义:对于 Update,Insert,Delete 语句 执行成功是返回值为该命令所影响行数...,如果影响行数为0返回值为0,如果数据操作回滚得话返回值为-1,对于这种更新操作 用我们平时所用是否大于0判断操作应该没有问题而且比较好,但是对于其他操作如对数据库结构操作,如果操作成功返回却是...-1,这种情况跟我们平时思维方式有点差距所以应该好好注意了,例如对数据库共添加一个数据Create操作,创建数据成功返回-1,如果操作失败的话(如数据已经存在)往往会发生异常,所以执行这种操作最好用...try–catch语句来容错。...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站立刻删除。

67610

一步一步在Windows中使用MyCat负载均衡 下篇

之前在 一步一步在Windows中使用MyCat负载均衡 上篇 已经讲了如何配置出MyCat。下面讲其相关使用。...和follower 之间通讯次数,总时间5*2=10秒 syncLimit=5 # 存储内存数据库快照位置,如果不设置参数,更新事务日志将被存储到默认位置。...MyCAT优化过ADO层驱动,即Pomelo.Data.MyCat,开发者通过使用MyCatConnection、MyCatCommand类可以实现对MyCAT连接与查询。...,返回DataSet /// /// 查询语句 /// <returns...DataSource = ds.Tables[0]; 七、注意  MyCat 主键ID自增长配置,但保存还是会出现下面的情况,还是没指定ID,插入ID还是下面的ID会导致插入失败,因此想做分布式最好是

930100

《MySQL》系列 - 小胖问我:MySQL 日志到底有啥用?菜!

于是执行以下 sql 语句: update student set age = age + 1 where id = 2; 前面聊过查询语句如何执行?...Mysql 架构图 update 语句发起:首先连接器会连接数据库。接着分析器通过词法、语法分析知道这是更新语句。所以查询缓存失效。 之前文章提到:如果有更新。那么它查询缓存会失败。...PS:需要更新数据页在内存,就会直接更新内存数据页;不在内存,在可以使用 change buffer(篇幅有限,这个后面写文章再聊) 情况下,就会将更新操作记录到 change buffer...,并将这些操作记录到 redo log ;如果此时有查询操作,则触发 merge 操作,返回更改后记录值。...也就是说设置为 0 是(大约)每秒刷新写入到磁盘系统崩溃,会丢失 1 秒钟数据。

50340

使用C#进行数据库增删改查(二)

事务: 事务是执行一批sql语句,如果中途失败,全部回滚,数据不会受影响,中途没有出错则会提交事务,真正对数据进行修改。...C#提供了SqlTransaction类来处理数据库事务,下面通过一个示例方法来看一下这个类如何使用: using(SqlConnection connection=new SqlConnection(...尤其是在UI线程中进行耗时操作我们需要将这种操作放在后台,下面以查询操作为例做一下异步版本演示: /// /// 执行查询操作(异步泛型版) /// ///...sql语句 /// 参数 /// 数据集合,出错返回null</...{ return null; } } } //在主线程调用此方法查询数据(数据跟上一篇文章一样),具体逻辑如下: SqlParameter[] parameters

71740

asp.net 建多个项目实现三层实例——读取一张记录条数

第二步:所要完成功能说明: 在这里我要完成功能其实非常非常简单,就是查询一张,看里面有多少条数据,然后返回数据条数,大致是这样,我们有一个窗体窗体上有个按键,点击这个按键(查看XXX数据条数...第三步:三层实现流程介绍 1.确定sql语句 为了保证数据库操作语句不出错误,我先在数据库中新建查询,看能不能查到我要结果,我用数据库是sqlserver,数据库管理软件是微软 MSMS,查询结果如图所示...如图所示可以看到,用该语句查询结果是中有54条数据,下面我看一下是否有误: ?...怎么引,简单,光标定位到划红线地方,使用快捷键 Ctrl + Alt +F10 ,会弹出提示语句,选中提示语句就可以了,这个快捷键还蛮好用,可以。如图所示: ?...这与我前面用sql语句在数据库直接查询数据是一致。   好了,这个最简单三层就记录到这里啦,虽然是如此简单,但还是写了这么长,没办法,谁叫我菜呢。

1.2K20

让异常处理代码更健壮

跳过 } // 日志里,继续处理 try { throw new IOException("Made up"); } catch (IOException e) { log.error...然而几周或几个月后,这些代码将成为开发人员噩梦。绝大多数人可不想读日志查问题。因此,还是让我们避免这种情况。 规则一:catch 语句是用来处理异常,把异常日志里然后继续执行不算处理。...转换经常用于处理受检异常(checked exception),在方法异常无法抛出,并且无法恢复使用。...一个很好例子就是网络中断重试。如果定义了这种策略,那么就能够恢复到正常状态。例如,如果通过网络发送数据失败,可以数据写入本地存储。当然,这时就必须定义如何处理该文件。...(e1); } } } // 恢复:如果传输失败录到文件 try { // 发送信息 throw new MessagingException("Made up

54410

使用C#进行数据库增删改查(一)

以下是Student数据库StudentInfo数据所有数据,增删改查演示都会基于此查询操作: 接下来我们演示一下查询查询李四所有信息,代码如下: SqlParameter...执行查询操作,需要调用SqlCommandExecuteReader()方法,改方法返回一个SqlDataReader对象,通过这个对象,我们可以获取数据,它两个常用属性用法在代码注释已写出,下面着重介绍...如果有数据,SqlDataReader指针就指向第0行,我们需要调用Read()方法,指针下移,如果下一行不为空,该方法返回true,否则返回false。...();//result为1 } catch { return 0; } } } 删除和更新也是一样,只不过是sql语句不一样...执行聚合函数: SqlCommand类提供了一个ExecuteScalar()来执行聚合函数,聚合函数返回值是不固定,所以这个方法返回值是object,用法也是类似,返回这个object值就是查询结果

1.4K10

SQL 写入调优

在客户端代码,我们使用拼接SQL语句方式实现数据写入,由于SQL语句是动态执行,所以恶意用户可以通过拼接SQL方式实施SQL注入攻击。   ...()或Dispose(),池进程会将连接返回到活动连接池集中,而不是真正关闭连接,连接返回到池中之后,即可在下一个Open调用重复使用。   ...那么,SQL Server正在做所有这些事情,它会产生锁,以确保用户获得有意义结果。...磁盘IO   SQL Server最终会将数据写入到磁盘,首先,SQL Server把数据写入到事务日志执行备份,事务日志会合并到永久数据库文件;这一系列操作由后台完成,它不会影响到数据查询速度...使用参数   如果,大家使用SQL Server 2008,它提供一个新功能变量(Table Parameters)可以整个数据汇集成一个参数传递给存储过程或SQL语句

96760
领券