将以下代码逐语句详细讲解代码意思及实现 public ArrayList getItemNumTypestring valid string itemName int maxCount var sql = titem_codetitem_nametnum_typetnum_times tFEE_CHECK_GROUP
该代码定义了一个函数getItemNumType,该函数有三个参数,分别为valid、itemName和maxCount,返回值为ArrayList类型。该函数的作用是根据传入的参数从数据库中查询符合条件的数据,并返回一个ArrayList类型的结果。
首先,函数定义了一个字符串变量sql,该变量包含了一个SQL语句,用于查询数据库中的数据。该SQL语句查询了表fin_com_undruginfo中的五个字段,并且使用了子查询来获取FEE_CHECK_GROUP字段对应的名称。具体的SQL语句含义为:查询表fin_com_undruginfo中的item_code、item_name、num_type、num_times和FEE_CHECK_GROUP字段,同时查询com_dictionary表中type为'FeeCheckGroup'且code等于t.FEE_CHECK_GROUP的记录的name字段,并将其作为结果集的一个字段。
接下来,代码使用了一个布尔类型的变量hasWhere来标记是否已经添加了查询条件。如果valid等于0或1,则需要增加查询条件,判断valid_state字段是否等于valid的值。如果hasWhere为false,则需要在sql语句中添加where关键字以及查询条件;如果hasWhere为true,则需要在sql语句中添加and关键字以及查询条件。最后,将hasWhere设置为true,表示已经添加了查询条件。
接下来,代码判断itemName是否为空。如果itemName不为空,则需要添加查询条件,判断item_name字段是否包含itemName。根据hasWhere的值,添加where或and关键字以及查询条件。最后,将hasWhere设置为true,表示已经添加了查询条件。
接着,代码判断maxCount是否大于0。如果maxCount大于0,则需要限制返回的数据条数,将原来的sql语句修改为只返回前maxCount条记录,并且按照item_code字段升序排序。如果maxCount小于等于0,则不需要限制返回的数据条数,直接返回原来的sql语句。
最后,调用函数GetItemNumTypeFromReader,传入sql语句作为参数,从数据库中获取符合条件的数据,并将结果以ArrayList类型返回。
原文地址: http://www.cveoy.top/t/topic/bEGV 著作权归作者所有。请勿转载和采集!