c# - 如何将 SQL 结果保存到 C# 变量中?

标签 c# sql

我很难找到如何将 SQL 结果保存为字符串或结果返回的任何类型。

我的 SQL 查询是:

SELECT SUM(Length) FROM tbl_test WHERE TITLE LIKE 't%'

这里我需要一个函数来总结标题以字母“T”开头的所有数据行的长度,当在 MS-SQL 中执行查询时它返回“188.99”(SQL 类型为十进制)

我的问题是,如何将该值保存到 C# 变量中?查询总是返回具有特定值的一行,我想将其保存到一个变量中。我有一个 C# 函数来执行查询,我只需要将该行的值 188.99 保存到一个变量中。任何建议都很酷,无论我是将结果保存到十进制变量还是字符串中。

最佳答案

尝试在您为其准备的 SqlCommand 上调用 .ExecuteScalar()。例如:

SqlConnection connection = new SqlConnection(myConnectionString);
SqlCommand cmd = connection.CreateCommand();
cmd.CommandText = "SELECT SUM(Length) FROM tbl_test WHERE TITLE LIKE 't%'";

int result = ((int)cmd.ExecuteScalar());
connection.Close();

您可以随心所欲地打开和关闭 SqlConnections(每次执行操作时打开和关闭是 SoP,或者在同一方法中进行一系列操作)因为 .Net 不会真正关闭连接,它将“软关闭”它并将实时连接放回连接池中以供以后回收。

关于c# - 如何将 SQL 结果保存到 C# 变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5045097/

相关文章:

c# - 如何在单个事务中将文件写入磁盘并插入数据库记录?

c# - Fluent NHibernate M2M 映射([一个] 到 [许多 - 许多] 到 [一个])

javascript - 刷新后,JS 脚本在部分 View 中不起作用

mysql - 搜索字符串 mysql db 可以有空格,在另一个字符串中等

mysql - 如何根据外键在mysql中选择项目

sql - 检查复合键的唯一性

c# - 没有找到 'Autofac.Core.Activators.Reflection.DefaultConstructorFinder' 的构造函数

c# - 对带有 NOLOCK 的 View 使用 CRUD 存储过程是否不好?

sql - 生成 SQL SP 校验和

sql - Postgres 计算元素并按日期列