我正在尝试从数据库中返回一行:
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 BY
的 SELECT TOP
可以给你随机基于架构更改和/或旋转木马扫描的结果。
关于c# - 返回单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11397946/