c# - 在字符串中存储 SQL 函数值

标签 c# sql

enter image description here

我在 SQL 中有上述函数,我想将值“INTERNATIONAL”存储在字符串 ('strIntlStudent') 中。我怎样才能做到这一点?我知道数据阅读器,但列没有名称。

string TSQL_INTERNATIONAL = "select TOP 1  campus6.dbo.fndqgetpopulation_of_YT_v2a ('P000170620', '2017', '03TERM')";
DataTable DT_INTERNATIONAL = dhelper.ExecuteSelectCommand(TSQL_INTERNATIONAL, CommandType.Text);
if (DT_INTERNATIONAL != null && DT_INTERNATIONAL.Rows.Count > 0)
{
    strIntlStudent =  DT_INTERNATIONAL.Rows[0]["it says no column name"].ToString();
}

最佳答案

您需要为您的列命名。试试这个:

select TOP 1  campus6.dbo.fndqgetpopulation_of_YT_v2a
              ('P000170620', '2017', '03TERM') AS some_name

然后你可以使用那个名字:

strIntlStudent = DT_INTERNATIONAL.Rows[0]["some_name"].ToString();

或者,如果您只检索一个值,那么您可以使用 ExecuteScalar 函数,该函数返回一个值,而不管列名是什么,您不需要为表格而烦恼。检查您的 dhelper 类,看它是否具有与 ExecuteScalar 相关的函数。

关于c# - 在字符串中存储 SQL 函数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44685094/

相关文章:

c# - Web API 中的手动模型验证

c# - 检查字符串是否包含特定值

C# 获取另一个进程的工作目录

c# - 尝试将 2 个文件添加到单独的列表中进行读取,我需要将它们合并到一个列表中

mysql - 如何将 MS-SQL Server SELECT 查询转换/迁移到 Oracle 和 MySQL?

MySql 是否根据先前的值递增

c# - 写入PS/2端口

SQL 顺序分组和序列间隙的字符串

sql - 仅当满足条件时,WHERE 子句中的 Oracle SQL CASE 表达式

sql - 在postgresql中打印一个变量的值