SqlCommand读取一个值

时间:2013-04-05 11:00:09

标签: c# sql sql-server sqlcommand

我对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之类的内容吗?

提前谢谢!!

2 个答案:

答案 0 :(得分:8)

ExecuteReader有效,但需要更多对象和更多代码 - (An SqlDataReader,调用Read和Extract值)。相反,您只需使用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值的事实

答案 1 :(得分:2)

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