在SQL数据库中查找最大的数字,如果不可用,则返回“0” - c#

目前,我正在为ASP.NET C#Web应用程序提供一种方法来检索SQL数据库中列中的最高编号。现在,我设法产生以下代码。

commTagNo = new SqlCommand("SELECT MAX(ComponentTagEntry) FROM dbo.HullDataSheet", connHull);

connHull.Open();
int newTagNo = (int)commTagNo.ExecuteScalar();
connHull.Close();

newTagNo = newTagNo + 1;

其中connHull是以上代码行的SqlConnection

仅当数据库已经具有最少一行数据时,以上代码才能检索列ComponentTagEntry中的最高编号。

如果数据库为空,则由于没有数据可执行,因此它将返回“指定的转换无效”。

我需要的是,当数据库为空时,代码可以将最高编号检索为“ 0”。

我知道我必须用if then语句修改上面的代码,但是我不知道必须与true / false语句进行比较的值。

任何帮助都非常感谢。

参考方案

coalesce是要走的路:

select coalesce(max(ComponentTagEntry)) from ...

例如:

create table dbo.HullDataSheet (ComponentTagEntry int);

select coalesce(max(ComponentTagEntry), 0) from HullDataSheet

SQL Server parse and compile time: 
   CPU time = 0 ms, elapsed time = 0 ms.

-----------
0

(1 row(s) affected)

Table 'HullDataSheet'. Scan count 1, logical reads 0, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

 SQL Server Execution Times:
   CPU time = 0 ms,  elapsed time = 0 ms.
SQL Server parse and compile time: 
   CPU time = 0 ms, elapsed time = 0 ms.

 SQL Server Execution Times:
   CPU time = 0 ms,  elapsed time = 0 ms.

ddl在服务器中未更新-asp.net - javascript

我在ASP.NET c#上工作。我有一个DropDownList。 (runat =“ server”)在$ {document).ready上,我更新了它的值:$(document).ready(function () { document.getElementById("ddl").value = "abc"; ……

数学和科学方程式和Fomulas的数​​据类型-SQL Server 2008? - c#

我正在使用SQL Server2008。我有一个用于教育部门工作的小项目。为此,我需要存储数学和科学方程式和公式。这意味着数据可能包含带有上标和下标的值。我希望以相同的格式保存数据。是否有适合我需求的适当数据类型? 参考方案 如果此列专门用于存储数学方程式和科学公式,那么我将使用Xml列,然后将数据存储在MathML format中。文字段落,例如说明,可以…

ASP.NET Core Singleton实例与瞬态实例的性能 - c#

在ASP.NET Core依赖注入中,我只是想知道注册Singleton实例是否会比注册Transient实例更好地提高性能?在我看来,对于Singleton实例,创建新对象和相关对象只需花费一次时间。对于Transient实例,此成本将针对每个服务请求重复。因此Singleton似乎更好。但是,在Singleton上使用Transient时,我们可以获得多…

asp.net mvc或javascript将另一页的结果返回给方法 - c#

是否可以将另一个页面的结果返回给JavaScript方法或C#控制器操作?我有一个共享的复杂页面,该页面在我的网站上遍布使用,当前用于在C#后端的用户数据上设置单个变量。当用户完成共享的复杂页面后,我将返回引用页面。当用户在刷新或返回时将其作为url参数传递给返回的页面时,我返回的页面包含新选择的变量。我有一个新页面,我希望从我的共享复杂页面中返回该变量。但…

ASP.NET MVC 5自定义登录,无需脚手架,数据库优先 - c#

我对asp.net和mvc还是很陌生,所以我正在努力学习尽可能多的知识...为此,我从头开始编写博客网站,但是我对身份验证和授权有些困惑。由于我倾向于不真正使用任何脚手架的东西,所以我首先要使用数据库,所以不希望asp.net身份为我创建表。我对散列和加盐密码很酷,并对照数据库检查用户,我遇到的麻烦是将用户设置为登录状态并检查他们应该能够访问什么。我真的很想…