virtual protected Hashtable parseData(Hashtable data, bool isInsert) { Hashtable result = new Hashtable(); // 分析数据 try { var sql = getTableFind(parseTable()); PDO pdo = new PDO(); ResultSet resultSet = pdo.query(sql); int length = resultSet.columnCount(); for (int i = 0; i < length; i++) { string col = resultSet.columnName(i); string type = resultSet.columnType(i); if (col.ToLower().Equals("id")) { continue; } if (data.ContainsKey(col)) { object content = data[col]; if (content is ArrayList) { ArrayList var = (ArrayList)content; if (var[0].Equals("inc") || var[0].Equals("dec")) { string fuhao = var[0].Equals("inc") ? "+" : "-"; result.Add(col, col + fuhao + var[1]); } } else { result.Add(col, getFieldValue(type, content.ToString())); } } else { if (isInsert) { result.Add(col, getFieldDefault(type)); } } } resultSet.Dispose(); pdo.Dispose(); /* * DataSet dataSet = Connect.getDataSet(sql); * DataColumnCollection columns = dataSet.Tables[0].Columns; * for (int i = 0; i < columns.Count; i++) * { * DataColumn column = columns[i]; * string col = column.ColumnName; * string type = column.DataType.ToString(); * if (col.ToLower().Equals("id")) * { * continue; * } * if (data.ContainsKey(col)) * { * object content = data[col]; * if (content is ArrayList) * { * ArrayList var = (ArrayList) content; * if (var[0].Equals("inc") || var[0].Equals("dec")) * { * string fuhao = var[0].Equals("inc") ? "+" : "-"; * result.Add(col, col + fuhao + var[1]); * } * } * else * { * result.Add(col, getFieldValue(type, content.ToString())); * } * } * else * { * if (isInsert) * { * result.Add(col, getFieldDefault(type)); * } * } * }*/ } catch (Exception e) { Console.WriteLine(e); } return(result); }