【问题标题】:SqlCommand read one valueSqlCommand 读取一个值
【发布时间】:2013-04-05 11:00:09
【问题描述】:

SqlCommand 返回的值有问题,我有这个代码:

string sqlSelect = "Select TOP 1 Quotation.SentToSupp as SentToSupp FROM Quotation JOIN Notifications ON Quotation.QuotationId = QuotationID ";

SqlCommand Comm = new SqlCommand(sqlSelect, this.Connection);

sqlSelect 查询选择第一个 DateTime 值。当我打电话给SqlCommand 时,我想得到这个值(只有一个值)。我添加了查询并且我的连接很好。

但我不知道如何获得我的DateTime 值...必须使用类似ExecuteReader 的东西?

提前谢谢你!!

【问题讨论】:

标签: c# sql sql-server sqlcommand


【解决方案1】:

ExecuteReader 有效,但需要更多对象和更多代码 - (SqlDataReader,调用读取和提取值)。相反,您可以简单地使用SqlCommand 对象的ExecuteScalar 方法(它只返回结果集第一行的第一列)

string sqlSelect = "Select TOP 1 Quotation.SentToSupp as SentToSupp FROM ....";
SqlCommand Comm = new SqlCommand(sqlSelect, this.Connection);
object result = Comm.ExecuteScalar();
if(result != null)
   DateTime dtResult = Convert.ToDateTime(result);

请注意,如果由于某种原因返回的结果中没有记录,ExecuteScalar 可能会返回 null

【讨论】:

    【解决方案2】:

    使用 SqlCommand.ExecuteScalar 方法 - 执行查询,并返回查询返回的结果集中第一行的第一列。其他列或行将被忽略。

    【讨论】:

      猜你喜欢
      • 2017-09-30
      • 1970-01-01
      • 1970-01-01
      • 2016-01-17
      • 1970-01-01
      • 2011-11-26
      • 2016-12-26
      • 2016-04-10
      • 2022-01-22
      相关资源
      最近更新 更多