Exemplo n.º 1
0
        protected string CreateSQL(string table, DBTableData data, int type)
        {
            int num;
            string format = "";
            string str2 = "";
            string str3 = "";
            switch (type)
            {
                case 0:
                    format = "INSERT INTO " + table + "(";
                    for (num = 0; num < data.Count; num++)
                    {
                        if (!data.GetKeys(num).Substring(0, 1).Equals("&"))
                        {
                            if (num > 0)
                            {
                                format = format + "," + data.GetKeys(num).Substring(1);
                                str2 = str2 + ", ?";
                            }
                            else
                            {
                                format = format + data.GetKeys(num).Substring(1);
                                str2 = str2 + " ?";
                            }
                        }
                    }
                    return (format + ") VALUES (" + str2 + ")");

                case 1:
                    format = "UPDATE " + table + " SET {0} WHERE 1 = 1 {1}";
                    for (num = 0; num < data.Count; num++)
                    {
                        if (data.GetKeys(num).Substring(0, 1).Equals("#"))
                        {
                            if (str2.Length == 0)
                            {
                                str2 = str2 + "  " + data.GetKeys(num).Substring(1) + " = ? ";
                            }
                            else
                            {
                                str2 = str2 + ", " + data.GetKeys(num).Substring(1) + " = ? ";
                            }
                        }
                        else
                        {
                            str3 = str3 + " AND " + data.GetKeys(num).Substring(1) + " = ? ";
                        }
                    }
                    return string.Format(format, str2, str3);

                case 2:
                    format = "DELETE FROM " + table + " WHERE 1 = 1 {0}";
                    for (num = 0; num < data.Count; num++)
                    {
                        str2 = str2 + " AND " + data.GetKeys(num).Substring(1) + " = ? ";
                    }
                    return string.Format(format, str2);

                case 3:
                    format = "SELECT {0} FROM " + table + " WHERE 1 = 1 {1} ";
                    for (num = 0; num < data.Count; num++)
                    {
                        if (data.GetKeys(num).Substring(0, 1).Equals("#"))
                        {
                            if (str2.Length == 0)
                            {
                                str2 = str2 + "  " + data.GetKeys(num).Substring(1);
                            }
                            else
                            {
                                str2 = str2 + ", " + data.GetKeys(num).Substring(1);
                            }
                        }
                        else
                        {
                            str3 = str3 + " AND " + data.GetKeys(num).Substring(1) + " = ? ";
                        }
                    }
                    if (str2.Length == 0)
                    {
                        str2 = " * ";
                    }
                    return string.Format(format, str2, str3);
            }
            return format;
        }
Exemplo n.º 2
0
 protected IDataParameter[] NewParameter(int size, DBTableData data)
 {
     int index = 0;
     IDataParameter[] parameterArray = new OleDbParameter[size];
     for (int i = 0; i < size; i++)
     {
         parameterArray[i] = new OleDbParameter();
         if ((data != null) && !data.GetKeys(i).Substring(0, 1).Equals("&"))
         {
             parameterArray[index].ParameterName = data.GetKeys(i);
             parameterArray[index].Value = data.GetValues(i);
             parameterArray[index].DbType = data.GetTypes(i);
             index++;
         }
     }
     return parameterArray;
 }