Adds ReadTable function to DBTools

This commit is contained in:
Twitchy 2011-07-28 13:08:49 +12:00
parent 2afcb35da1
commit 383715715c
2 changed files with 42 additions and 0 deletions

View file

@ -160,6 +160,47 @@ namespace TShockAPI.DB
com.ExecuteNonQuery();
}
}
public static List<object> ReadTable(string tablename, string getcolumn, List<ColumnData> WhereStatements)
{
StringBuilder sb = new StringBuilder();
List<object> ReturnedValues = new List<object>();
sb.Append("SELECT * FROM " + tablename + " ");
using (var com = database.CreateCommand())
{
//Where Statement (if any)
if (WhereStatements.Count > 0)
{
sb.Append("WHERE ");
int count = 0;
foreach (ColumnData columnname in WhereStatements)
{
count++;
if (WhereStatements.Count != count)
{
sb.Append(columnname.Name + " =" + columnname.Value + " AND ");
}
else
{
sb.Append(columnname.Name + " =" + columnname.Value);
}
}
}
com.CommandText = sb.ToString();
using (var reader = com.ExecuteReader())
{
while (reader.Read())
ReturnedValues.Add(reader.Get<object>(getcolumn));
}
}
return ReturnedValues;
}
}
public class Column

View file

@ -64,6 +64,7 @@ namespace TShockAPI.DB
{typeof(decimal), (s, i) => s.GetDecimal(i)},
{typeof(float), (s, i) => s.GetFloat(i)},
{typeof(double), (s, i) => s.GetDouble(i)},
{typeof(object), (s, i) => s.GetValue(i)},
};
public static T Get<T>(this IDataReader reader, string column)