- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 SqlConnection
、SqlDataReader
、SqlCommand
和 SqlParameters
与我的数据库进行通信。我正在寻找有关捕获最相关的 Exceptions
而不是抛出新的 Exception()
的建议,这是一个太宽泛的类别。
感谢所有帮助!
最佳答案
最相关可能等同于可能发生的最常见的环境条件。编码错误将得到修复,但您无法控制环境问题。
此外,除了类文档之外,您还可以简单地尝试这些条件并确保您正确地处理了这些条件。多年前,一位开发人员问我,如果连接丢失,某些技术会抛出什么异常 - 所以我拔掉他的网线,然后我们运行他的代码:)
一些常见的是:
在其中一些情况下(网络、超时、死锁受害者),您可能希望通过增加等待时间来重试。对于像 db full 这样的其他人,您最好的期望是为管理员提供良好的指导甚至日志详细信息。
通过尝试条件,您可以确定抛出的异常是什么,并且可以验证您是否正确处理了条件。
关于c# - 在处理 SqlConnection、SqlDataReader、SqlCommand 时要捕获哪些异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8368096/
我需要使用 ADO.NET 将一系列命令发送到 SQL 2008,以便逐个执行。我应该为我发送的每个 SQL 创建一个新的 SQLCommand 吗?或者重用相同的 SQLCommand 并仅更改 C
我们可以在将参数传递给 sql 查询时同时使用这两种方法吗? 那么它们之间有什么区别呢? 最佳答案 MSDN article on AddWithValue() 解释两者之间的差异。内是对细微差异的解
我已经彻底搜索,但找不到 SET 的方法我的列数据到我使用 SQL 初始化的变量 UPDATE陈述。 这是导致问题的一段代码: int maxId; SqlConnection dataConnect
使用 SqlParameters是防止数据库查询中的 SQL 注入(inject)的推荐方法。我在哪里可以找到内部清理这些参数的代码/函数?我想在我的自定义实现中重新使用这个函数。我尝试使用 Refl
我目前正在使用 SQL Server 2014 中的 C# 脚本更新和读取值。当使用 SQlCommand 执行非查询时,运行脚本时会弹出错误: IndexOutOfRangeException: A
我最近一直在做一个旧项目。我在项目中发现以前的同事已经创建了一些用于打开与数据库的连接的常用方法。但是我怀疑这个过程是否真的在查询完成后通过 IDispose 处理连接。 方法如下: 连接数据库。 /
抱歉格式化,有点粗糙 我在 C# 中通过 SQLCommand 插入语句时遇到问题。插入完成后,ID 将返回给程序。 我填充了一些变量并编写了一个 SQLCommand。考虑了所有参数。 using
我有以下 SQL 语句(如果我在我的数据库中像这样执行它,它会起作用): IF EXISTS (SELECT * FROM dbo.PopularityPokemon WHERE Dex_ID = '
我有一个 C# 程序,我在其中创建了各种类,所有类都需要调用数据库。所以我决定创建一个静态类来处理所有调用,以便我可以非常轻松地应用影响深远的更改。在那个类中,我有调用 SqlCommand 各个部分
试图只返回前几行,因为我的数据库太大了,但是当我测试我的 SQL 时,我做了一个 select * 并且只返回了第一行。 SqlCommand sqlCmd = new SqlCommand(); S
我对从 SqlCommand 返回的值有疑问,我有这段代码: string sqlSelect = "Select TOP 1 Quotation.SentToSupp as SentToSupp F
我正在 .Net 中创建测试方法,需要更改数据库以设置测试场景。我们使用 SqlCommands 发送查询来更改数据库,为此连接字符串是受信任的连接字符串。所有 DROPS 和 ALTER 查询对于表
我试图通过 SqlCommand 将表名作为参数传递给我的查询,但它似乎不起作用。这是我的代码; SqlConnection con = new SqlConnection( "server=.;us
当我在 SSMS 中执行以下命令时,我得到了预期的结果 - SELECT * FROM [Event] WHERE Active = 'True' AND [Name] LIKE '%P%' 即显示名
我在 C# 中运行一条返回一个值(字符串)的 SQL 命令。然后我试图将它保存到一个变量,但它总是抛出这个异常: A first chance exception of type 'System.In
我有这个 SqlCommand,但我不知道如何给出返回值? string param = Request.QueryString["id"]; System.Data.SqlClient.SqlCon
我对使用 C# 和 ASP.NET 还很陌生,我很好奇在 SQL 数据库上运行多个查询时是否有命名 SqlCommand 的约定。例如,我已经创建了我的 SqlConnection,我希望调用一个函数
好吧,这是微不足道的,但它一直困扰着我。我有这样的代码 oCmd = new SqlCommand("getBooking", oCon); oCmd.CommandType = CommandTyp
如果我有这个变量: int value = 4; 将作为一些 sql 参数传递: SqlCommand sqlcmd = new SqlCommand(); sqlcmd.Parameters.Add
我使用以下代码从 SQL Server 表中进行选择: using (SqlConnection con = new SqlConnection(SqlConnectionString)) {
我是一名优秀的程序员,十分优秀!