首页 > 解决方案 > 不同表之间的数据验证

问题描述

我必须检查我是否有要出售的产品和数量。所以,我有一张桌子products和一张桌子,sales我必须检查它是否有库存。

我有一个按名称搜索产品并返回列表的功能,我尝试检查列表是否大于 0,但没有用。为了确定数量是否有效,我尝试与product表中的数量进行比较。

搜索功能:

   public List<Produto> SearchProdName(string ProdName)
   {
     return _conexao.Table<Produto>().Where(a =>a.ProdName.Contains(ProdName)).ToList();
   }
    AcessoBanco acessobanco = new AcessoBanco();
    var lista = acessobanco.SearchProdName(entProdName.Text);
    if (lista.Count > 0 && produto.ProdQtde >= int.Parse(entQtde.Text))
    {
      produto.ProdQtde -= 1;
    }

感谢您的帮助,在此先感谢!对不起,如果我不够清楚。

编辑:

产品表:

  public class Produto
  {
      [PrimaryKey, AutoIncrement]
      public int ProdId { get; set; }
      public string ProdNome { get; set; }
      public string ProdMarca { get; set; }
      public int ProdQtde { get; set; }
      public string ProdDesc { get; set; }
      public string ProdFornecedor { get; set; }
      public decimal ProdRSCompra { get; set; }
      public decimal ProdRSVenda { get; set; }
      public string ProdEspecifica { get; set; }
  } 

标签: c#sqlitexamarin.forms

解决方案


很抱歉让您注意到上述代码段中错误地使用了 count 函数。

从产品表中获取产品数量和有效数量(> 0)。

public List<Product> SearchName(string Name)
{
   return _conexao.Table<Product>().Where(a =>a.ProductName.Contains(Name) && a.Quantity > 0).ToList();
}

要执行计数验证,我们可以使用以下任何一种:

list.Count() > 0
list.Any()

推荐阅读