我正在制作一个网站,并且使用实体框架连接到数据库。 我应该放一个

    try
    {
var query = from es in gr.sales
                        orderby es.tilbudsNavn
                        select es;
    }
    catch
{
lblError = "Sorry but you can't connecto to the database right now, try again later";
}

围绕我所有的数据库连接?

===============>>#1 票数:3 已采纳

可能不是-除非您想忽略无法连接到数据库的情况(这可能会使数据库无用)。 在某些适当的错误处理中,您可以重定向到错误页面,并在可能的情况下执行某种通知(即,向您发送包含错误原因的电子邮件),这将更加有用。

===============>>#2 票数:1

您应该从一个位置管理对数据库的访问。 而且,是的,在那个地方,连接语句应该用try-catch包围,以方便日志记录和错误报告。

===============>>#3 票数:0

使用try catch语句来处理任何可能的错误总是一个好主意。 文件处理,数据库处理,应用程序进行的任何I / O操作通常都是包裹错误处理代码的一个好主意,该代码可以恢复错误或通过提供提示性消息并通知用户和管理员退出。

===============>>#4 票数:0

仅当您可以在catch子句中做一些有用的事情时。 绝对不要使用空的catch子句,因为这将吞噬所有数据库错误。

===============>>#5 票数:0

最好使用带有多个参数的Try-Catch创建一个方法,其中之一是您要执行的lambda或func或action。

因此,您所有的处理都将集中在一处。

另外,您可以在这里这里阅读

===============>>#6 票数:0

http://blogs.msdn.com/b/ericlippert/archive/2008/09/10/vexing-exceptions.aspx

Eric Lippert有一篇很好的关于异常的文章。 它描述了应该捕获的内容和不应该捕获的内容。

对于您的示例,我将“数据库连接异常”放入应捕获的“外源”类型。 至少对于正确的错误处理而言,并且如果数据库访问非常重要,请使用适当的消息/日志记录关闭您的应用程序。

  ask by Oedum translate from so

未解决问题?本站智能推荐:

3回复

什么时候需要配置数据库连接

我有一个类,其中包含为我的MVC应用程序定制的几种常用方法,我在几个地方使用。 这是一些例子: 这些方法中的每一个都调用数据库来获取数据,我想知道是否需要为每个方法添加一个dispose。 如果没有,为什么? 谢谢。
1回复

自动检测可用的数据库连接

通常,当我们连接到数据库时,我们将选择数据库驱动程序类型,服务器名称,uid,密码和数据库名称。 (例如ms sql server)。 我的C#Windows Form应用程序是否可以自动检测可用的数据库连接? 也许ms sql服务器数据库存储在我运行该应用程序的同一台PC上。
1回复

如何对选定的数据库连接执行验证?

我正在制作一个基本上选择数据库,连接字符串的桌面Windows应用程序,现在我想对所做的选择进行一些检查,我该怎么做? 我需要检查数据库是否包含特定的表名。 到目前为止,这是我的代码。 }
3回复

实体框架数据库连接问题

我们正在使用.Net Entity Framework来完成与数据库相关的工作。 我们的数据库是Sybase SQL Anywhere 。 我们使用大量上述语句来访问数据库。 我的问题是,我们是否需要在访问完成后每次关闭连接以及如何执行此操作? 有一段时间我看到“超出数据库服务
2回复

在没有数据库连接的情况下使用实体框架类

我有一个奇怪的情况。 我已经直观地创建了一个数据模型并从中生成了一个数据库。 该项目被两个项目引用: ASP .NET应用程序。 WinForms应用程序。 ASP .NET应用程序直接处理数据库,而我需要WinForms应用程序通过Web应用程序与数据库进行交互。
1回复

加密Azure网站的数据库连接字符串

似乎没有很好的方法来加密azure网站(不是云服务)的数据库连接字符串,我已经在这里查看了解决方案,但是,我无法在azure网站设置中存储数据库的第一个实体框架连接字符串,这将在下面显示错误,有人知道如何使用数据库优先实体框架使Azure数据库中的数据库连接字符串安全? System.Da
2回复

实体框架和SQL Server数据库连接字符串

我已经与EF合作了一段时间,并且我一直使用LocalDb来存储数据。 我想开始使用SQL Server数据库,但是在设置连接字符串时遇到了一些问题。 https://msdn.microsoft.com/zh-CN/library/jj653752(v=vs.110).aspx#sse
3回复

远程服务器上的C#数据库连接错误

我曾经在计算机上运行一个C#网站,并将其用于数据库连接设置(Windows身份验证): 现在,我为我的网站找到了一个主机,他们给了我这些信息: 我尝试了多种更改连接设置的方法,但没有一种起作用。 执行尝试访问数据库的操作时收到的错误是: 我的问题是如何更改此字符串(
1回复

c#连接到Oracle数据库

我有一个带有实体框架的ac#应用程序,并且已连接到Oracle数据库。 这种连接在我的开发PC以及较旧的共享Windows 2008服务器上都可以正常工作。 现在,我将其部署在新的Windows 2012测试服务器上,服务器抛出一个错误,表明他无法连接到数据库。 当我远程登录其IP
2回复

本地数据库Visual Studio 2017的连接问题

我正在用Visual Studio创建我的第一个本地数据库。 我创建了一个项目,其中安装了实体框架“ ConsoleApp4”。 然后,我创建了单独的库“ ClassLibrary”(dll),并在其中添加了数据库(mdf)。 我还以多种方式构建了连接字符串,并将其放入“ Cons