c# - 返回单行

标签 c# ado.net asp.net-3.5

我正在尝试从数据库中返回一行:

using (connection = new SqlConnection(ConfigurationManager.AppSettings["connection"]))
{
    using (command = new SqlCommand(@"select top 1 col_1, col_2 from table1", connection))
    {
        connection.Open();

        using (reader = command.ExecuteReader())
        {
            reader.Read();
            return reader["col_1"];
        }
    }
}

但我收到以下错误消息:

Compiler Error Message: CS0266: Cannot implicitly convert type 'object' to 'string'. An explicit conversion exists (are you missing a cast?)
Line 90: return reader["col_1"];

我确信我犯了一个非常明显的错误,但我似乎找不到任何单行示例,我找到的所有示例都是针对使用 while 循环 返回的多个行。

最佳答案

reader["col_1"] 返回 object

你想要像 reader.GetString(reader.GetOrdinal("col_1")) 这样的东西。

编辑 -> 我只是想在这里添加一个注释,除了其他人提出的问题之外,没有 ORDER BYSELECT TOP 可以给你随机基于架构更改和/或旋转木马扫描的结果。

关于c# - 返回单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11397946/

相关文章:

c# - 声明带或不带括号的类的新实例

c# - 不存在从对象类型 System.Int32[] 到已知托管提供程序 native 类型的映射

c# - 如何使用构造函数初始化列表?

c# - 模拟 DbContext SaveChanges() 方法不返回任何值

c# - 如何使用UWP中的代码模拟Tab键按下

c# - 在 Windows C# 中查找列中最后使用的行

c# - Size 属性的大小无效,为 0

.net - 使用 Entity Framework 将 SQL Server 数据库导出到 Access

asp.net - 如何在 Web 服务中返回 JSON?

c# - 是否有任何理由在 String.IsNullOrEmpty() 上使用此 Regex 方法?