public static SQRow[] Select(string table, int startIndex, int lenght) { Type tableType = SQRow.GetTypeByName(table); string s = $"SELECT * FROM {tableType.Name} LIMIT {startIndex}, {lenght};"; SQLiteCommand cmd = new SQLiteCommand(s, sqCon); SQLiteDataReader data = cmd.ExecuteReader(); return(ReadSQData(data, tableType)); }
public static int Insert(SQRow table) { Type tableType = SQRow.GetTypeByName(table.GetType().Name); if (tableType == null) { throw new Exception("Invalid table type."); } StringBuilder sqString = new StringBuilder(); StringBuilder values = new StringBuilder(); sqString.Append("INSERT INTO ").Append(tableType.Name).Append(" ("); values.Append("VALUES ("); var fields = tableType.GetFields(); foreach (var field in fields) { var att = field.GetCustomAttributes(false)[0]; var value = field.GetValue(table); if (value != null) { var converter = (TypeConverter)att; string sql = converter.ToSqlString(value); sqString.Append(field.Name).Append(", "); values.Append(sql).Append(", "); } } //remove last commas sqString.Remove(sqString.Length - 2, 2); values.Remove(values.Length - 2, 2); //bring everything together sqString.Append(") ").Append(values.ToString()).Append(");"); if (Program.DEBUG) { Console.WriteLine(sqString.ToString()); } SQLiteCommand cmd = new SQLiteCommand(sqString.ToString(), sqCon); int count = 0; try { count = cmd.ExecuteNonQuery(); } catch { } return(count); }
public static SQRow Select(string table, int id) { Type tableType = SQRow.GetTypeByName(table); string s = $"SELECT * FROM {tableType.Name} WHERE id = {id};"; SQLiteCommand cmd = new SQLiteCommand(s, sqCon); SQLiteDataReader data = cmd.ExecuteReader(); var result = ReadSQData(data, tableType); if (result.Length > 0) { return(result[0]); } return(null); }