|
@@ -143,7 +143,7 @@ namespace Util
|
|
|
string val = GetQueryTableData(dic, fieldQueryValue);
|
|
|
condi += "'%" + val + "%'";
|
|
|
}
|
|
|
- else if(fieldQueryModel == "start_list_field")
|
|
|
+ else if(fieldQueryModel == "querystart_list_field")
|
|
|
{
|
|
|
string val = GetStartData(startData, fieldQueryValue);
|
|
|
condi += "'%" + val + "%'";
|
|
@@ -173,7 +173,7 @@ namespace Util
|
|
|
{
|
|
|
val = GetQueryTableData(dic, fieldQueryValue);
|
|
|
}
|
|
|
- else if(fieldQueryModel == "start_list_field")
|
|
|
+ else if(fieldQueryModel == "querystart_list_field")
|
|
|
{
|
|
|
val = GetStartData(startData, fieldQueryValue);
|
|
|
}
|
|
@@ -248,7 +248,7 @@ namespace Util
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- else if(fieldQueryModel == "start_list_field")
|
|
|
+ else if(fieldQueryModel == "querystart_list_field")
|
|
|
{
|
|
|
foreach(string sub in valList)
|
|
|
{
|
|
@@ -318,7 +318,7 @@ namespace Util
|
|
|
if(!string.IsNullOrEmpty(dicValRight)) condi += " and " + fieldEnName + "<='" + GetExpressionVal(dicValRight) + "'";
|
|
|
}
|
|
|
}
|
|
|
- else if(fieldQueryModel == "start_list_field")
|
|
|
+ else if(fieldQueryModel == "querystart_list_field")
|
|
|
{
|
|
|
string valLeft = val[0];
|
|
|
string valRight = val[1];
|
|
@@ -360,7 +360,7 @@ namespace Util
|
|
|
{
|
|
|
val = GetQueryTableData(dic, fieldQueryValue);
|
|
|
}
|
|
|
- else if(fieldQueryModel == "start_list_field")
|
|
|
+ else if(fieldQueryModel == "querystart_list_field")
|
|
|
{
|
|
|
val = GetStartData(startData, fieldQueryValue);
|
|
|
}
|
|
@@ -440,214 +440,220 @@ namespace Util
|
|
|
string fieldQueryModel = queryField.fieldQueryModel;
|
|
|
string fieldQueryValue = queryField.fieldQueryValue;
|
|
|
string fieldQueryValueType = queryField.fieldQueryValueType;
|
|
|
- if(fieldQueryKind == "1") //模糊匹配
|
|
|
+
|
|
|
+ //拼装聚合字段
|
|
|
+ if(queryField.groupByFlag)
|
|
|
{
|
|
|
- condi += " and " + fieldEnName + " like ";
|
|
|
- if(fieldQueryModel == "request_param")
|
|
|
- {
|
|
|
- Dictionary<string, string> req = getRequestParams(projectId, content);
|
|
|
- string val = req.ContainsKey(fieldQueryValue) ? req[fieldQueryValue] : "0";
|
|
|
- condi += "'%" + val + "%'";
|
|
|
- }
|
|
|
- else if(fieldQueryModel == "fixed_value")
|
|
|
- {
|
|
|
- condi += "'%" + GetExpressionVal(fieldQueryValue) + "%'";
|
|
|
- }
|
|
|
- else if(fieldQueryModel == "db_field")
|
|
|
- {
|
|
|
- condi += "'%" + GetDbExpressionVal(fieldQueryValue) + "%'";
|
|
|
- }
|
|
|
- else if(fieldQueryModel == "query_field")
|
|
|
- {
|
|
|
- string val = GetQueryTableData(dic, fieldQueryValue);
|
|
|
- condi += "'%" + val + "%'";
|
|
|
- }
|
|
|
+ groupBy += queryField.fieldEnName + ",";
|
|
|
}
|
|
|
- else if(fieldQueryKind == "2") //精确匹配
|
|
|
+ else
|
|
|
{
|
|
|
- if(fieldQueryValue == "null" && fieldQueryValueType == "text") condi += " and " + fieldEnName + " is null";
|
|
|
- else
|
|
|
+ if(fieldQueryKind == "1") //模糊匹配
|
|
|
{
|
|
|
- condi += " and " + fieldEnName + "=";
|
|
|
- string val = "";
|
|
|
+ condi += " and " + fieldEnName + " like ";
|
|
|
if(fieldQueryModel == "request_param")
|
|
|
{
|
|
|
Dictionary<string, string> req = getRequestParams(projectId, content);
|
|
|
- val = req.ContainsKey(fieldQueryValue) ? req[fieldQueryValue] : "0";
|
|
|
+ string val = req.ContainsKey(fieldQueryValue) ? req[fieldQueryValue] : "0";
|
|
|
+ condi += "'%" + val + "%'";
|
|
|
}
|
|
|
else if(fieldQueryModel == "fixed_value")
|
|
|
{
|
|
|
- val = GetExpressionVal(fieldQueryValue);
|
|
|
+ condi += "'%" + GetExpressionVal(fieldQueryValue) + "%'";
|
|
|
}
|
|
|
else if(fieldQueryModel == "db_field")
|
|
|
{
|
|
|
- val = GetDbExpressionVal(fieldQueryValue);
|
|
|
+ condi += "'%" + GetDbExpressionVal(fieldQueryValue) + "%'";
|
|
|
}
|
|
|
else if(fieldQueryModel == "query_field")
|
|
|
{
|
|
|
- val = GetQueryTableData(dic, fieldQueryValue);
|
|
|
+ string val = GetQueryTableData(dic, fieldQueryValue);
|
|
|
+ condi += "'%" + val + "%'";
|
|
|
}
|
|
|
- if(fieldQueryValueType == "text")
|
|
|
- {
|
|
|
- val = "'" + val + "'";
|
|
|
- }
|
|
|
- condi += val;
|
|
|
}
|
|
|
- }
|
|
|
- else if(fieldQueryKind == "5" || fieldQueryKind == "6") //数组匹配/排除
|
|
|
- {
|
|
|
- if(fieldQueryKind == "5") condi += " and " + fieldEnName + " in (";
|
|
|
- else if(fieldQueryKind == "6") condi += " and " + fieldEnName + " not in (";
|
|
|
- string val = "";
|
|
|
- string[] valList = fieldQueryValue.Split(',');
|
|
|
- if(fieldQueryModel == "request_param")
|
|
|
+ else if(fieldQueryKind == "2") //精确匹配
|
|
|
{
|
|
|
- Dictionary<string, string> req = getRequestParams(projectId, content);
|
|
|
- foreach(string sub in valList)
|
|
|
+ if(fieldQueryValue == "null" && fieldQueryValueType == "text") condi += " and " + fieldEnName + " is null";
|
|
|
+ else
|
|
|
{
|
|
|
- if(fieldQueryValueType == "text")
|
|
|
+ condi += " and " + fieldEnName + "=";
|
|
|
+ string val = "";
|
|
|
+ if(fieldQueryModel == "request_param")
|
|
|
{
|
|
|
- val += "'" + req[sub] + "',";
|
|
|
+ Dictionary<string, string> req = getRequestParams(projectId, content);
|
|
|
+ val = req.ContainsKey(fieldQueryValue) ? req[fieldQueryValue] : "0";
|
|
|
}
|
|
|
- else
|
|
|
+ else if(fieldQueryModel == "fixed_value")
|
|
|
{
|
|
|
- val += req[sub] + ",";
|
|
|
+ val = GetExpressionVal(fieldQueryValue);
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
- else if(fieldQueryModel == "fixed_value")
|
|
|
- {
|
|
|
- foreach(string sub in valList)
|
|
|
- {
|
|
|
- if(fieldQueryValueType == "text")
|
|
|
+ else if(fieldQueryModel == "db_field")
|
|
|
{
|
|
|
- val += "'" + GetExpressionVal(sub) + "',";
|
|
|
+ val = GetDbExpressionVal(fieldQueryValue);
|
|
|
}
|
|
|
- else
|
|
|
+ else if(fieldQueryModel == "query_field")
|
|
|
{
|
|
|
- val += GetExpressionVal(sub) + ",";
|
|
|
+ val = GetQueryTableData(dic, fieldQueryValue);
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
- else if(fieldQueryModel == "db_field")
|
|
|
- {
|
|
|
- foreach(string sub in valList)
|
|
|
- {
|
|
|
if(fieldQueryValueType == "text")
|
|
|
{
|
|
|
- val += "'" + GetDbExpressionVal(sub) + "',";
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- val += GetDbExpressionVal(sub) + ",";
|
|
|
+ val = "'" + val + "'";
|
|
|
}
|
|
|
+ condi += val;
|
|
|
}
|
|
|
}
|
|
|
- else if(fieldQueryModel == "query_field")
|
|
|
+ else if(fieldQueryKind == "5" || fieldQueryKind == "6") //数组匹配/排除
|
|
|
{
|
|
|
- foreach(string sub in valList)
|
|
|
+ if(fieldQueryKind == "5") condi += " and " + fieldEnName + " in (";
|
|
|
+ else if(fieldQueryKind == "6") condi += " and " + fieldEnName + " not in (";
|
|
|
+ string val = "";
|
|
|
+ string[] valList = fieldQueryValue.Split(',');
|
|
|
+ if(fieldQueryModel == "request_param")
|
|
|
{
|
|
|
- string dicVal = GetQueryTableData(dic, sub);
|
|
|
- if(fieldQueryValueType == "text")
|
|
|
- {
|
|
|
- val += "'" + dicVal + "',";
|
|
|
- }
|
|
|
- else
|
|
|
+ Dictionary<string, string> req = getRequestParams(projectId, content);
|
|
|
+ foreach(string sub in valList)
|
|
|
{
|
|
|
- val += dicVal + ",";
|
|
|
+ if(fieldQueryValueType == "text")
|
|
|
+ {
|
|
|
+ val += "'" + req[sub] + "',";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ val += req[sub] + ",";
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
- val = val.TrimEnd(',');
|
|
|
- condi += val + ")";
|
|
|
- }
|
|
|
- else if(fieldQueryKind == "3") //范围匹配
|
|
|
- {
|
|
|
- string[] val = fieldQueryValue.Split(':');
|
|
|
- if(fieldQueryModel == "request_param")
|
|
|
- {
|
|
|
- Dictionary<string, string> req = getRequestParams(projectId, content);
|
|
|
- if(fieldQueryValueType == "number")
|
|
|
- {
|
|
|
- if(!string.IsNullOrEmpty(req[val[0]])) condi += " and " + fieldEnName + ">=" + req[val[0]];
|
|
|
- if(!string.IsNullOrEmpty(req[val[1]])) condi += " and " + fieldEnName + "<=" + req[val[1]];
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- if(!string.IsNullOrEmpty(req[val[0]])) condi += " and " + fieldEnName + ">='" + req[val[0]] + "'";
|
|
|
- if(!string.IsNullOrEmpty(req[val[1]])) condi += " and " + fieldEnName + "<='" + req[val[1]] + "'";
|
|
|
- }
|
|
|
- }
|
|
|
- else if(fieldQueryModel == "fixed_value")
|
|
|
- {
|
|
|
- if(fieldQueryValueType == "number")
|
|
|
- {
|
|
|
- if(!string.IsNullOrEmpty(val[0])) condi += " and " + fieldEnName + ">=" + val[0];
|
|
|
- if(!string.IsNullOrEmpty(val[1])) condi += " and " + fieldEnName + "<=" + val[1];
|
|
|
}
|
|
|
- else
|
|
|
+ else if(fieldQueryModel == "fixed_value")
|
|
|
{
|
|
|
- if(!string.IsNullOrEmpty(val[0])) condi += " and " + fieldEnName + ">='" + GetExpressionVal(val[0]) + "'";
|
|
|
- if(!string.IsNullOrEmpty(val[1])) condi += " and " + fieldEnName + "<='" + GetExpressionVal(val[1]) + "'";
|
|
|
+ foreach(string sub in valList)
|
|
|
+ {
|
|
|
+ if(fieldQueryValueType == "text")
|
|
|
+ {
|
|
|
+ val += "'" + GetExpressionVal(sub) + "',";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ val += GetExpressionVal(sub) + ",";
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- else if(fieldQueryModel == "db_field")
|
|
|
- {
|
|
|
- if(!string.IsNullOrEmpty(val[0])) condi += " and " + fieldEnName + ">=" + GetDbExpressionVal(val[0]);
|
|
|
- if(!string.IsNullOrEmpty(val[1])) condi += " and " + fieldEnName + "<=" + GetDbExpressionVal(val[1]);
|
|
|
- }
|
|
|
- else if(fieldQueryModel == "query_field")
|
|
|
- {
|
|
|
- string valLeft = val[0];
|
|
|
- string valRight = val[1];
|
|
|
- string dicValLeft = GetQueryTableData(dic, valLeft);
|
|
|
- string dicValRight = GetQueryTableData(dic, valRight);
|
|
|
- if(fieldQueryValueType == "number")
|
|
|
+ else if(fieldQueryModel == "db_field")
|
|
|
{
|
|
|
- if(!string.IsNullOrEmpty(dicValLeft)) condi += " and " + fieldEnName + ">=" + dicValLeft;
|
|
|
- if(!string.IsNullOrEmpty(dicValRight)) condi += " and " + fieldEnName + "<=" + dicValRight;
|
|
|
+ foreach(string sub in valList)
|
|
|
+ {
|
|
|
+ if(fieldQueryValueType == "text")
|
|
|
+ {
|
|
|
+ val += "'" + GetDbExpressionVal(sub) + "',";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ val += GetDbExpressionVal(sub) + ",";
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- else
|
|
|
+ else if(fieldQueryModel == "query_field")
|
|
|
{
|
|
|
- if(!string.IsNullOrEmpty(dicValLeft)) condi += " and " + fieldEnName + ">='" + GetExpressionVal(dicValLeft) + "'";
|
|
|
- if(!string.IsNullOrEmpty(dicValRight)) condi += " and " + fieldEnName + "<='" + GetExpressionVal(dicValRight) + "'";
|
|
|
+ foreach(string sub in valList)
|
|
|
+ {
|
|
|
+ string dicVal = GetQueryTableData(dic, sub);
|
|
|
+ if(fieldQueryValueType == "text")
|
|
|
+ {
|
|
|
+ val += "'" + dicVal + "',";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ val += dicVal + ",";
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+ val = val.TrimEnd(',');
|
|
|
+ condi += val + ")";
|
|
|
}
|
|
|
- }
|
|
|
- else if(fieldQueryKind == "4") //取反匹配
|
|
|
- {
|
|
|
- if(fieldQueryValue == "null" && fieldQueryValueType == "text") condi += " and " + fieldEnName + " is not null";
|
|
|
- else
|
|
|
+ else if(fieldQueryKind == "3") //范围匹配
|
|
|
{
|
|
|
- condi += " and " + fieldEnName + "!=";
|
|
|
- string val = "";
|
|
|
+ string[] val = fieldQueryValue.Split(':');
|
|
|
if(fieldQueryModel == "request_param")
|
|
|
{
|
|
|
Dictionary<string, string> req = getRequestParams(projectId, content);
|
|
|
- val = req.ContainsKey(fieldQueryValue) ? req[fieldQueryValue] : "0";
|
|
|
+ if(fieldQueryValueType == "number")
|
|
|
+ {
|
|
|
+ if(!string.IsNullOrEmpty(req[val[0]])) condi += " and " + fieldEnName + ">=" + req[val[0]];
|
|
|
+ if(!string.IsNullOrEmpty(req[val[1]])) condi += " and " + fieldEnName + "<=" + req[val[1]];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if(!string.IsNullOrEmpty(req[val[0]])) condi += " and " + fieldEnName + ">='" + req[val[0]] + "'";
|
|
|
+ if(!string.IsNullOrEmpty(req[val[1]])) condi += " and " + fieldEnName + "<='" + req[val[1]] + "'";
|
|
|
+ }
|
|
|
}
|
|
|
else if(fieldQueryModel == "fixed_value")
|
|
|
{
|
|
|
- val = GetExpressionVal(fieldQueryValue);
|
|
|
+ if(fieldQueryValueType == "number")
|
|
|
+ {
|
|
|
+ if(!string.IsNullOrEmpty(val[0])) condi += " and " + fieldEnName + ">=" + val[0];
|
|
|
+ if(!string.IsNullOrEmpty(val[1])) condi += " and " + fieldEnName + "<=" + val[1];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if(!string.IsNullOrEmpty(val[0])) condi += " and " + fieldEnName + ">='" + GetExpressionVal(val[0]) + "'";
|
|
|
+ if(!string.IsNullOrEmpty(val[1])) condi += " and " + fieldEnName + "<='" + GetExpressionVal(val[1]) + "'";
|
|
|
+ }
|
|
|
}
|
|
|
else if(fieldQueryModel == "db_field")
|
|
|
{
|
|
|
- val = GetDbExpressionVal(fieldQueryValue);
|
|
|
+ if(!string.IsNullOrEmpty(val[0])) condi += " and " + fieldEnName + ">=" + GetDbExpressionVal(val[0]);
|
|
|
+ if(!string.IsNullOrEmpty(val[1])) condi += " and " + fieldEnName + "<=" + GetDbExpressionVal(val[1]);
|
|
|
}
|
|
|
else if(fieldQueryModel == "query_field")
|
|
|
{
|
|
|
- val = GetQueryTableData(dic, fieldQueryValue);
|
|
|
+ string valLeft = val[0];
|
|
|
+ string valRight = val[1];
|
|
|
+ string dicValLeft = GetQueryTableData(dic, valLeft);
|
|
|
+ string dicValRight = GetQueryTableData(dic, valRight);
|
|
|
+ if(fieldQueryValueType == "number")
|
|
|
+ {
|
|
|
+ if(!string.IsNullOrEmpty(dicValLeft)) condi += " and " + fieldEnName + ">=" + dicValLeft;
|
|
|
+ if(!string.IsNullOrEmpty(dicValRight)) condi += " and " + fieldEnName + "<=" + dicValRight;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if(!string.IsNullOrEmpty(dicValLeft)) condi += " and " + fieldEnName + ">='" + GetExpressionVal(dicValLeft) + "'";
|
|
|
+ if(!string.IsNullOrEmpty(dicValRight)) condi += " and " + fieldEnName + "<='" + GetExpressionVal(dicValRight) + "'";
|
|
|
+ }
|
|
|
}
|
|
|
- if(fieldQueryValueType == "text")
|
|
|
+ }
|
|
|
+ else if(fieldQueryKind == "4") //取反匹配
|
|
|
+ {
|
|
|
+ if(fieldQueryValue == "null" && fieldQueryValueType == "text") condi += " and " + fieldEnName + " is not null";
|
|
|
+ else
|
|
|
{
|
|
|
- val = "'" + val + "'";
|
|
|
+ condi += " and " + fieldEnName + "!=";
|
|
|
+ string val = "";
|
|
|
+ if(fieldQueryModel == "request_param")
|
|
|
+ {
|
|
|
+ Dictionary<string, string> req = getRequestParams(projectId, content);
|
|
|
+ val = req.ContainsKey(fieldQueryValue) ? req[fieldQueryValue] : "0";
|
|
|
+ }
|
|
|
+ else if(fieldQueryModel == "fixed_value")
|
|
|
+ {
|
|
|
+ val = GetExpressionVal(fieldQueryValue);
|
|
|
+ }
|
|
|
+ else if(fieldQueryModel == "db_field")
|
|
|
+ {
|
|
|
+ val = GetDbExpressionVal(fieldQueryValue);
|
|
|
+ }
|
|
|
+ else if(fieldQueryModel == "query_field")
|
|
|
+ {
|
|
|
+ val = GetQueryTableData(dic, fieldQueryValue);
|
|
|
+ }
|
|
|
+ if(fieldQueryValueType == "text")
|
|
|
+ {
|
|
|
+ val = "'" + val + "'";
|
|
|
+ }
|
|
|
+ condi += val;
|
|
|
}
|
|
|
- condi += val;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- //拼装聚合字段
|
|
|
- if(queryField.groupByFlag) groupBy += queryField.fieldEnName +",";
|
|
|
}
|
|
|
|
|
|
if(!string.IsNullOrEmpty(groupBy)) groupBy = " group by " + groupBy.TrimEnd(',') + " order by " + groupBy.TrimEnd(',');
|
|
@@ -2104,6 +2110,7 @@ namespace Util
|
|
|
{
|
|
|
var db = initDb(prizeInTable.databaseId);
|
|
|
Dictionary<string, object> doFields = new();
|
|
|
+ List<string> inFields = new();
|
|
|
//入库字段
|
|
|
var prizeInFields = prizeInFieldService.GetList(m => m.inTableId == prizeInTable.id);
|
|
|
foreach(var prizeInField in prizeInFields)
|
|
@@ -2163,6 +2170,8 @@ namespace Util
|
|
|
if(fieldQueryValueType == "number") doFields.Add(fieldEnName, decimal.Parse(fieldQueryValue));
|
|
|
if(fieldQueryValueType == "datetime") doFields.Add(fieldEnName, DateTime.Parse(fieldQueryValue));
|
|
|
if(fieldQueryValueType == "bool") doFields.Add(fieldEnName, bool.Parse(fieldQueryValue));
|
|
|
+
|
|
|
+ inFields.Add(fieldEnName + "#cut#" + fieldQueryValue + "#cut#" + fieldQueryValueType + "#cut#" + prizeInField.fieldInModel);
|
|
|
}
|
|
|
|
|
|
//查询匹配条件
|
|
@@ -2365,15 +2374,34 @@ namespace Util
|
|
|
if(check.Rows.Count > 0)
|
|
|
{
|
|
|
string fieldString = "";
|
|
|
- foreach(var fieldEnName in doFields.Keys)
|
|
|
+ foreach(var inField in inFields)
|
|
|
{
|
|
|
- if(typeof(int) == doFields[fieldEnName].GetType() || typeof(decimal) == doFields[fieldEnName].GetType())
|
|
|
+ string[] inFieldData = inField.Split(new string[]{ "#cut#" }, StringSplitOptions.None);
|
|
|
+ string fieldEnName = inFieldData[0];
|
|
|
+ string fieldQueryValue = inFieldData[1];
|
|
|
+ string fieldQueryValueType = inFieldData[2];
|
|
|
+ string fieldInModel = inFieldData[3];
|
|
|
+ if(fieldQueryValueType == "int" || fieldQueryValueType == "number" || fieldQueryValueType == "bool")
|
|
|
{
|
|
|
- fieldString += fieldEnName + "=" + doFields[fieldEnName].ToString();
|
|
|
+ if(fieldInModel == "add")
|
|
|
+ {
|
|
|
+ fieldString += fieldEnName + "=" + fieldEnName + "+" + fieldQueryValue;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ fieldString += fieldEnName + "=" + fieldQueryValue;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- fieldString += fieldEnName + "=" + "'" + doFields[fieldEnName].ToString() + "'";
|
|
|
+ if(fieldInModel == "add")
|
|
|
+ {
|
|
|
+ fieldString += fieldEnName + "=" + "concat(" + fieldEnName + ", '" + fieldQueryValue + "')";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ fieldString += fieldEnName + "=" + "'" + fieldQueryValue + "'";
|
|
|
+ }
|
|
|
}
|
|
|
fieldString += ",";
|
|
|
}
|