/// <summary> /// /// </summary> /// <param name="valueObj"></param> /// <param name="dbType">0:SQL;1:Oracle;2:Access</param> /// <returns></returns> private static Hashtable setPara(object valueObj, DB_Type dbType, Manual_Type manualType, out string fieldStr) { string flag = ":"; if (dbType == DB_Type.SQLServer || dbType == DB_Type.Access) { flag = "@"; } fieldStr = ""; string vals = ""; Hashtable result = new Hashtable(); int i = 0; foreach (PropertyInfo p in valueObj.GetType().GetProperties()) { if (getObjValue(p.Name, valueObj) != null) { result.Add(flag + p.Name, getObjValue(p.Name, valueObj)); if (i == 0) { i++; } else { fieldStr += ","; vals += ","; } if (manualType == Manual_Type.Insert) { vals += p.Name; fieldStr += flag + p.Name; } else if (manualType == Manual_Type.Update) { fieldStr += " " + p.Name + "=" + flag + p.Name; } } } if (dbType == DB_Type.Access) { vals = ""; fieldStr = ""; int j = 0; foreach (string str in result.Keys) { if (j == 0) { j++; } else { fieldStr += ","; vals += ","; } if (manualType == Manual_Type.Insert) { vals += str.Replace(flag, ""); fieldStr += str; } else if (manualType == Manual_Type.Update) { fieldStr += " " + str.Replace(flag, "") + "=" + str; } } } if (manualType == Manual_Type.Insert) { fieldStr = "(" + vals + ") values (" + fieldStr + ") "; } return(result); }
/// <summary> /// /// </summary> /// <param name="valueObj"></param> /// <param name="dbType">0:SQL;1:Oracle;2:Access</param> /// <returns></returns> public static Hashtable GenParasHash(object valueObj, DB_Type dbType, Manual_Type manualType, out string outstr) { return(setPara(valueObj, dbType, manualType, out outstr)); }