SqlCommand的读取一个值(SqlCommand read one value)

2019-08-19 18:19发布

我从返回的值有问题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

先感谢您!!

Answer 1:

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



Answer 2:

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值,如果由于某种原因,没有在结果没有记录返回



文章来源: SqlCommand read one value