public void CreateDatabase() { Database Database = new Database("TestDatabase"); Table TestTable = Database.AddTable("TestTable"); TestTable.AddColumn<string>("ID_", DbType.Int32); TestTable.AddColumn<string>("Value1", DbType.String, 100); TestTable.AddColumn<string>("Value2", DbType.Double); Utilities.SQL.SQLServer.SQLServer.CreateDatabase(Database, "Data Source=localhost;Initial Catalog=TestDatabase;Integrated Security=SSPI;Pooling=false"); using (Utilities.SQL.SQLHelper Helper = new Utilities.SQL.SQLHelper("insert into TestTable(ID_,Value1,Value2) VALUES (@ID_,@Value1,@Value2)", "Data Source=localhost;Initial Catalog=TestDatabase;Integrated Security=SSPI;Pooling=false", CommandType.Text)) { Helper.AddParameter<int>("@ID_", 1); Helper.AddParameter<string>("@Value1", "Test String"); Helper.AddParameter<float>("@Value2", 3.0f); Assert.Equal(1, Helper.ExecuteNonQuery()); } }
public void GetDatabaseStructure() { Database Database = new Database("TestDatabase"); Table TestTable = Database.AddTable("TestTable"); TestTable.AddColumn<string>("ID_", DbType.Int32); TestTable.AddColumn<string>("Value1", DbType.String, 100); TestTable.AddColumn<string>("Value2", DbType.Double); Utilities.SQL.SQLServer.SQLServer.CreateDatabase(Database, "Data Source=localhost;Initial Catalog=TestDatabase;Integrated Security=SSPI;Pooling=false"); Database Database2 = Utilities.SQL.SQLServer.SQLServer.GetDatabaseStructure("Data Source=localhost;Initial Catalog=TestDatabase;Integrated Security=SSPI;Pooling=false"); Assert.Equal(Database.Tables.First().Name, Database2.Tables.First().Name); Assert.Equal(Database.Tables.First().Columns.Count, Database2.Tables.First().Columns.Count); Assert.Equal(DbType.Int32, Database2.Tables.First().Columns.First(x => x.Name == "ID_").DataType); Assert.Equal(DbType.String, Database2.Tables.First().Columns.First(x => x.Name == "Value1").DataType); Assert.Equal(DbType.Double, Database2.Tables.First().Columns.First(x => x.Name == "Value2").DataType); Assert.Equal(100, Database2.Tables.First().Columns.First(x => x.Name == "Value1").Length); Assert.Equal(4, Database2.Tables.First().Columns.First(x => x.Name == "ID_").Length); Assert.Equal(8, Database2.Tables.First().Columns.First(x => x.Name == "Value2").Length); }
/// <summary> /// Gets the tables for a database /// </summary> /// <param name="ConnectionString">Connection string</param> /// <param name="Temp">The database object</param> private static void GetTables(string ConnectionString, Database Temp) { string Command = "SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES"; using (SQLHelper Helper = new SQLHelper(Command, ConnectionString, CommandType.Text)) { Helper.ExecuteReader(); while (Helper.Read()) { string TableName = Helper.GetParameter("TABLE_NAME", ""); string TableType = Helper.GetParameter("TABLE_TYPE", ""); if (TableType == "BASE TABLE") { Temp.AddTable(TableName); } else if (TableType == "VIEW") { Temp.AddView(TableName); } } } }
public void UpdateDatabase() { Database Database = new Database("TestDatabase"); Table TestTable = Database.AddTable("TestTable"); TestTable.AddColumn<string>("ID_", DbType.Int32); TestTable.AddColumn<string>("Value1", DbType.String, 100); TestTable.AddColumn<string>("Value2", DbType.Double); Utilities.SQL.SQLServer.SQLServer.CreateDatabase(Database, "Data Source=localhost;Initial Catalog=TestDatabase;Integrated Security=SSPI;Pooling=false"); Database Database2 = new Database("TestDatabase"); TestTable = Database2.AddTable("TestTable"); TestTable.AddColumn<string>("ID_", DbType.Int32); TestTable.AddColumn<string>("Value1", DbType.String, 100); TestTable.AddColumn<string>("Value2", DbType.Double); TestTable.AddColumn<string>("Value3", DbType.Boolean); Utilities.SQL.SQLServer.SQLServer.UpdateDatabase(Database2, Database, "Data Source=localhost;Initial Catalog=TestDatabase;Integrated Security=SSPI;Pooling=false"); using (Utilities.SQL.SQLHelper Helper = new Utilities.SQL.SQLHelper("insert into TestTable(ID_,Value1,Value2,Value3) VALUES (@ID_,@Value1,@Value2,@Value3)", "Data Source=localhost;Initial Catalog=TestDatabase;Integrated Security=SSPI;Pooling=false", CommandType.Text)) { Helper.AddParameter<int>("@ID_", 1); Helper.AddParameter<string>("@Value1", "Test String"); Helper.AddParameter<float>("@Value2", 3.0f); Helper.AddParameter<bool>("@Value3", true); Assert.Equal(1, Helper.ExecuteNonQuery()); } Database Database3 = Utilities.SQL.SQLServer.SQLServer.GetDatabaseStructure("Data Source=localhost;Initial Catalog=TestDatabase;Integrated Security=SSPI;Pooling=false"); Assert.Equal(Database2.Tables.First().Name, Database3.Tables.First().Name); Assert.Equal(Database2.Tables.First().Columns.Count, Database3.Tables.First().Columns.Count); Assert.Equal(DbType.Int32, Database3.Tables.First().Columns.First(x => x.Name == "ID_").DataType); Assert.Equal(DbType.String, Database3.Tables.First().Columns.First(x => x.Name == "Value1").DataType); Assert.Equal(DbType.Double, Database3.Tables.First().Columns.First(x => x.Name == "Value2").DataType); Assert.Equal(100, Database3.Tables.First().Columns.First(x => x.Name == "Value1").Length); Assert.Equal(4, Database3.Tables.First().Columns.First(x => x.Name == "ID_").Length); Assert.Equal(8, Database3.Tables.First().Columns.First(x => x.Name == "Value2").Length); }