Example #1
0
        /// <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);
        }
Example #2
0
 /// <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));
 }