Пример #1
0
        public void RemoveRow(object obj)
        {
            string Query = String.Format("DELETE FROM `{0}` where {1}=\'{2}\'", Name, "UID", datatype.GetField("UID").GetValue(obj).ToString());

            Core2.ExecuteNonQuery(Query);
            data.Remove(obj);
        }
Пример #2
0
        public dynamic AddRow(object obj)
        {
            string        Query   = string.Format("INSERT INTO `{0}`(", Name);
            List <String> _values = new List <string>();
            List <String> _schema = new List <string>();

            System.Reflection.FieldInfo[] fields = obj.GetType().GetFields();
            foreach (System.Reflection.FieldInfo i in fields)
            {
                _schema.Add(String.Format(" `{0}`", i.Name.ToString()));
                _values.Add(QueryFieldTypeConverter(i.FieldType, i.GetValue(obj)));
            }

            Query = Query + String.Join(",", _schema);
            Query = Query + ") VALUES ( ";
            Query = Query + String.Join(",", _values);
            Query = Query + ")";
            int QueryResult = Core2.ExecuteNonQuery(Query);

            if (QueryResult == -1)
            {
                throw new Exception("SQL Error Unable to execute AddRow Invalid Data. " + Query);
            }
            try
            {
                (obj as item).Parent = this;
            }
            catch
            {
            }
            return(obj);
        }
Пример #3
0
        public void CreateTable()
        {
            // Creates Table if not exists
            string        Query     = string.Format("CREATE TABLE IF NOT EXISTS `{0}` (", Name);
            List <String> TableData = new List <string>();

            foreach (Tuple <string, string> i in schema)
            {
                TableData.Add(string.Format(" `{0}` {1}", i.Item1, i.Item2));
            }
            Query = Query + String.Join(",", TableData) + " )";
            Core2.ExecuteNonQuery(Query);
        }
Пример #4
0
        public void Save(object obj)
        {
            if (obj.GetType() != datatype)
            {
                throw new InvalidCastException(
                          String.Format("Expected object of type {0} recieved {1}", datatype, obj.GetType())
                          );
            }
            Dictionary <String, Object> dict = ConvertToDictionary(obj);
            string whereobj = String.Format("{0}=\'{1}\'", "UID", datatype.GetField("UID").GetValue(obj).ToString());

            Core2.Update(Name, dict, whereobj);
        }
Пример #5
0
        private static List <object> RefreshRows(string query)
        {
            if (query == null)
            {
                throw new ArgumentNullException("query must equal a value");
            }
            data = new List <object>();
            List <object> rowlist = Core2.ExecuteQuery(query);

            foreach (List <object> row in rowlist)
            {
                object o = Activator.CreateInstance(datatype);                 // Let o be Instance Of objects
                // Fields
                foreach (Tuple <String, object> field in row)
                {
                    datatype.GetField(field.Item1).SetValue(o, field.Item2);
                }
                data.Add(o);
            }
            return(data);
        }
Пример #6
0
        public List <object> RefreshRows(string query)
        {
            string Query = string.Format("SELECT * FROM `{0}` {1}", Name, query);

            data = new List <object>();
            List <object> rowlist = Core2.ExecuteQuery(Query);

            foreach (List <object> row in rowlist)
            {
                object o = Activator.CreateInstance(datatype);                  // Let o be Instance of objects
                // Do Fields
                foreach (Tuple <String, object> field in row)
                {
                    datatype.GetField(field.Item1).SetValue(o, field.Item2);
                }
                data.Add(o);
            }
            foreach (item i in data.OfType <item>())
            {
                i.Parent = this;
            }
            return(data);
        }