是否有任何指示器可以知道OleDbDataAdapter是否根据提供的查询获得了记录?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否有任何指示器可以知道OleDbDataAdapter是否根据提供的查询获得了记录?相关的知识,希望对你有一定的参考价值。

我有文本框,用户可以输入产品ID并基于填充gridview.I我的excel文件中的所有产品和使用OleDbConnection和OleDbDataAdapter我填充我的数据表与gridview using BindingSource绑定。

在填充数据表之前,是否可以在OleDbDataAdapter中找到一些指示产品(null或计数检查)?

代码:

string fieldSelector = "[ProductID], [ProductName],[MRP]";
string query = $"SELECT {fieldSelector} FROM [{sheetName}$A1:Q15535] WHERE [ProductID] = {Convert.ToInt32(txtProductId.Text)}";
using (OleDbConnection cnnxls = new OleDbConnection(strConn))
using (OleDbDataAdapter oda = new OleDbDataAdapter(query, cnnxls))
{
     oda.Fill(dtProductList);//dtProductList global variable at winform level
}

假设我已经添加了2个产品,现在我输入的产品在excel中找不到,然后我必须再看看数据表内部并根据该显示消息向用户说明“找不到产品”。

答案

您将必须进行OleDbCommand.ExecuteScalar调用以查找返回的记录数。使用ExecuteScalar时,可能必须将fieldSelector更改为“count(*)”

以上是关于是否有任何指示器可以知道OleDbDataAdapter是否根据提供的查询获得了记录?的主要内容,如果未能解决你的问题,请参考以下文章

为啥要创建一个二进制列来指示具有缺失值的记录

指示表中写入的最新事件的时间戳[重复]

有啥好方法可以指示计算机是不是可以运行特定的程序/软件?

Visual Studio 和双/多显示器:如何优化显示器的使用? [关闭]

以分块传输编码发送的响应,并指示在某些数据已发送后发生的错误

如何制作这个 Flutter Page 幻灯片指示器?