我从返回的值有问题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
?
先感谢您!!
使用SqlCommand.ExecuteScalar方法- 执行查询,并在查询返回的结果集返回第一行的第一列。 其他列或行被忽略。
ExecuteReader
工作是必需的,但更多的对象和更多的代码- (一个SqlDataReader
,调用read和获取价值)。 相反,你可以简单地使用ExecuteScalar
该方法SqlCommand
对象(这仅返回结果集的第一行的第一列)
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
值,如果由于某种原因,没有在结果没有记录返回