如何通过数据集的Select命令检查记录是否已经存在

本文关键字:是否 记录 存在 检查 命令 何通过 数据集 Select | 更新日期: 2023-09-27 18:15:33

我试图调整下面的代码检查记录是否存在于数据库中。

    private bool IsAlreadyExist(string LicenseType, int JurisdictionId)
    {
        LicenceBL lbl = new LicenceBL(0);
        DataSet lds = new DataSet();
        lbl.FetchForEdit(lds, AgentId, BrokerId);
        if (lds.Tables[0].Select('LicenseType='+LicenseType+'and Jurisdiction='+JurisdictionId).Count > 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

它不工作。它抛出错误…请帮帮我!!

如何通过数据集的Select命令检查记录是否已经存在

Nida,试试这个:

(1)

if (lds.Tables[0].Select('LicenseType='+LicenseType+'and Jurisdiction='+JurisdictionId).Length > 0) {
}

(2)

LINQ

int count = lds.Tables[0].AsEnumerable()
.Where(x => x["LicenseType"] == YourValue && y => y["Jurisdiction"]==YourValue).ToList().Count;
if (count >0) { // do your stuff}

Select返回行数组,Count来自Linq。因此,您需要将其作为方法Count()调用,而不是作为属性调用。

if (lds.Tables[0].Select('LicenseType='+LicenseType+
      'and Jurisdiction='+JurisdictionId).Count() > 0)
{

同样代替if/else,下面的语句是足够的:

return lds.Tables[0].Select('LicenseType='+LicenseType+
      'and Jurisdiction='+JurisdictionId).Count() > 0;